Here each callback method in the The document that's output may not be quite the same as the document that was read. General entity references will probably have been resolved.
Parts of the prolog, especially the DOCTYPE declaration, may be missing.
Parsers are not required to report lexical data; but if they want to do so, SAX provides a standard callback interface they can use, .
Then it parses the document indicated on the command line.
at line 344, column 92 Error: The content of element type "programlisting" must match "(#PCDATA|footnoteref|xref|abbrev|acronym|citation|citerefentry |citetitle|emphasis|firstterm|foreignphrase|glossterm|footnote |phrase|quote|trademark|wordasword|link|olink|ulink|action |application|classname|methodname|interfacename|exceptionname |ooclass|oointerface|ooexception|command|computeroutput|database |email|envar|errorcode|errorname|errortype|filename|function |guibutton|guiicon|guilabel|guimenu|guimenuitem|guisubmenu |hardware|interface|keycap|keycode|keycombo|keysym|literal |constant|markup|medialabel|menuchoice|mousebutton|option |optional|parameter|prompt|property|replaceable|returnvalue |sgmltag|structfield|structname|symbol|systemitem|token|type |userinput|varname|anchor|author|authorinitials|corpauthor |modespec|othercredit|productname|productnumber|revhistory|remark |subscript|superscript|inlinegraphic|inlinemediaobject |inlineequation|synopsis|cmdsynopsis|funcsynopsis|classsynopsis |fieldsynopsis|constructorsynopsis|destructorsynopsis |methodsynopsis|indexterm|beginpage|co|lineannotation)*". Once I do that, the merged file (ch07.xml) is valid: , as shown in Example 7.10.
There are a couple of problems with the XML generated.The biggest issue with this program is finding a parser that recognizes the Lexical events are those ephemera of parsing that don’t really mean anything.In some sense, they really aren’t part of the document’s information. However, lexical data also includes entity boundaries, CDATA section delimiters, and the DOCTYPE declaration.No problem, I thought, I’ll just turn off validation and then it won’t matter. Even with validation switched off, it still tries to load it and I get a File Not Found Exception.However, by delving in the source code I finally found that if you switch off two features, then it does ignore the external DTD.
Attempting to set this to true with a parser that cannot resolve external entity references will throw a to true as well.