notations are NAMEs, not NMTOKENs -- note: Leaving the invalid notation undeclared would cause a validating parser to fail without checking the name syntax, so the notation is declared with an invalid name. A parser that reports error positions should report an error at the AttlistDecl on line 6, before reaching the notation declaration.
<!DOCTYPE doc [ <!ELEMENT doc EMPTY> <!NOTATION a SYSTEM "a"> <!--should fail at this AttlistDecl, before NOTATION decl--> <!ATTLIST doc att NOTATION (a|0b) #IMPLIED> <!NOTATION 0b SYSTEM "0b"> ]> <doc/>
Expected result | Actual result for org.apache.crimson.parser.XMLReaderImpl |
---|---|
<?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <fatalError/> <endDocument/> </ConformanceResults> | <?xml version="1.0" encoding="UTF-8"?> <ConformanceResults> <startDocument/> <fatalError/> </ConformanceResults> |