diff --git a/jvm/src/test/scala/scala/xml/parsing/ConstructingParserTest.scala b/jvm/src/test/scala/scala/xml/parsing/ConstructingParserTest.scala
index d67524c51..4a8cf3134 100644
--- a/jvm/src/test/scala/scala/xml/parsing/ConstructingParserTest.scala
+++ b/jvm/src/test/scala/scala/xml/parsing/ConstructingParserTest.scala
@@ -4,6 +4,7 @@ package parsing
import scala.io.Source
import org.junit.Test
import scala.xml.JUnitAssertsForXML.{ assertEquals => assertXml }
+import org.junit.Assert.assertEquals
class ConstructingParserTest {
@@ -19,4 +20,55 @@ class ConstructingParserTest {
}
+ /* Example of using SYSTEM in DOCTYPE */
+ @Test
+ def docbookTest = {
+ val xml =
+ """|
+ |
Text
+ | + |""".stripMargin + + val expected = + + + + +Text
+ + + + assertEquals(expected, XhtmlParser(Source.fromString(xml)).theSeq) + } + + @Test + def html4Strict: Unit = { + val xml = + """| + | + | + |Text
+ | + |""".stripMargin + + val expected = + +Text
+ + + + assertEquals(expected, XhtmlParser(Source.fromString(xml)).theSeq) + } +} diff --git a/shared/src/main/scala/scala/xml/parsing/MarkupParser.scala b/shared/src/main/scala/scala/xml/parsing/MarkupParser.scala index 0b2f0d567..880d9bd7b 100755 --- a/shared/src/main/scala/scala/xml/parsing/MarkupParser.scala +++ b/shared/src/main/scala/scala/xml/parsing/MarkupParser.scala @@ -518,7 +518,7 @@ trait MarkupParser extends MarkupParserCommon with TokenTests { xToken("DOCTYPE") xSpace() val n = xName - xSpace() + xSpaceOpt() //external ID if ('S' == ch || 'P' == ch) { extID = externalID()