<?XML version="1.0" encoding="UTF-8" ?> <!DOCTYPE greeting [ <!ELEMENT greeting (#PCDATA)> ]> <greeting>Hello, world!</greeting>
Parse succeeded
Dictionary
[{errors,[]},
{idrefs,[]},
{ids,[]},
{top,"GREETING"},
{warnings,[]},
{{rule,"GREETING"},pcdata}]
Parse tree
{"GREETING",[],{pcdata,"Hello, world!"}}
<?XML version="1.0" ?> <!DOCTYPE greeting [ <!ENTITY % pc "#PCDATA"> <!ELEMENT greeting (%pc;)> ]> <greeting>Hello, world!</greeting>
Parse succeeded
Dictionary
[{errors,[]},
{{pent,"pc"},"#PCDATA"},
{idrefs,[]},
{ids,[]},
{top,"GREETING"},
{warnings,[]},
{{rule,"GREETING"},pcdata}]
Parse tree
{"GREETING",[],{pcdata,"Hello, world!"}}
<?XML version="1.0" encoding="UTF-8" ?> <!DOCTYPE greeting [ <!ELEMENT greeting (title,text)> <!ELEMENT title (#PCDATA)> <!ELEMENT text (#PCDATA)> ]> <greeting> <title>Section 1</title> <text>Hello, world!</text> </greeting>
Parse succeeded
Dictionary
[{errors,[]},
{idrefs,[]},
{ids,[]},
{{rule,"TEXT"},pcdata},
{top,"GREETING"},
{warnings,[]},
{{rule,"GREETING"},{seq,{rule,"TITLE"},{seq,{rule,"TEXT"},nil}}},
{{rule,"TITLE"},pcdata}]
Parse tree
{"GREETING",
[],
[{"TITLE",[],{pcdata,"Section 1"}},{"TEXT",[],{pcdata,"Hello, world!"}}]}
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (paras)>
<!ELEMENT paras (p+)>
<!ELEMENT p (#PCDATA)>
]>
<greeting>
<paras>
<p>para1</p>
<p>para2</p>
</paras>
</greeting>
Parse succeeded
Dictionary
[{errors,[]},
{{rule,"PARAS"},{plus,{rule,"P"}}},
{idrefs,[]},
{ids,[]},
{top,"GREETING"},
{{rule,"P"},pcdata},
{warnings,[]},
{{rule,"GREETING"},{rule,"PARAS"}}]
Parse tree
{"GREETING",
[],
{"PARAS",[],[{"P",[],{pcdata,"para1"}},{"P",[],{pcdata,"para2"}}]}}
<?XML version="1.0"?> <!DOCTYPE play SYSTEM "play.dtd"> <PLAY> <TITLE>The Tragedy of Hamlet, Prince of Denmark</TITLE> <fm> <p>Text placed in the public domain by Moby Lexical Tools, 1992.</p> <p>SGML markup by Jon Bosak, 1992-1994.</p> <p>XML version by Jon Bosak, 1996-1997.</p> <p>This work may be freely copied and distributed worldwide.</p> </fm> <PERSONAE> <TITLE>Dramatis Personae</TITLE> <PERSONA>CLAUDIUS, king of Denmark. </PERSONA> <PERSONA>HAMLET, son to the late, and nephew to the present king.</PERSONA> <PGROUP> <PERSONA>GUILDENSTERN</PERSONA> <PERSONA>OSRIC</PERSONA> <GRPDESCR>courtiers.</GRPDESCR> </PGROUP> </PERSONAE> <SCNDESCR>SCENE Denmark.</SCNDESCR> <PLAYSUBT>HAMLET</PLAYSUBT> <ACT><TITLE>ACT I</TITLE> <SCENE><TITLE>SCENE I. Elsinore. A platform before the castle.</TITLE> <STAGEDIR>FRANCISCO at his post. Enter to him BERNARDO</STAGEDIR> <SPEECH> <SPEAKER>BERNARDO</SPEAKER> <LINE>Who's there?</LINE> </SPEECH> <SPEECH> <SPEAKER>PRINCE FORTINBRAS</SPEAKER> <LINE>Let four captains</LINE> <LINE>Bear Hamlet, like a soldier, to the stage;</LINE> <LINE>For he was likely, had he been put on,</LINE> <LINE>To have proved most royally: and, for his passage,</LINE> <LINE>The soldiers' music and the rites of war</LINE> <LINE>Speak loudly for him.</LINE> <LINE>Take up the bodies: such a sight as this</LINE> <LINE>Becomes the field, but here shows much amiss.</LINE> <LINE>Go, bid the soldiers shoot.</LINE> </SPEECH> <STAGEDIR>A dead march. Exeunt, bearing off the dead bodies; after which a peal of ordnance is shot off</STAGEDIR> </SCENE> </ACT> </PLAY>
Parse succeeded
Dictionary
[{{rule,"PROLOGUE"},
{seq,{rule,"TITLE"},
{seq,{star,{rule,"SUBTITLE"}},
{seq,{plus,{alt,{rule,"STAGEDIR"},{alt,{rule,"SPEECH"},fail}}},
nil}}}},
{{rule,"SCNDESCR"},pcdata},
{{rule,"SCENE"},
{seq,{rule,"TITLE"},
{seq,{star,{rule,"SUBTITLE"}},
{seq,{plus,{alt,{rule,"SPEECH"},
{alt,{rule,"STAGEDIR"},
{alt,{rule,"SUBHEAD"},fail}}}},
nil}}}},
{{rule,"PLAY"},
{seq,{rule,"TITLE"},
{seq,{rule,"FM"},
{seq,{rule,"PERSONAE"},
{seq,{rule,"SCNDESCR"},
{seq,{rule,"PLAYSUBT"},
{seq,{question,{rule,"INDUCT"}},
{seq,{question,{rule,"PROLOGUE"}},
{seq,
{plus,{rule,"ACT"}},
{seq,
{question,{rule,"EPILOGUE"}},
nil}}}}}}}}}},
{idrefs,[]},
{{rule,"ACT"},
{seq,{rule,"TITLE"},
{seq,{star,{rule,"SUBTITLE"}},
{seq,{question,{rule,"PROLOGUE"}},
{seq,{plus,{rule,"SCENE"}},
{seq,{question,{rule,"EPILOGUE"}},nil}}}}}},
{top,"PLAY"},
{{rule,"FM"},{plus,{rule,"P"}}},
{{rule,"PGROUP"},{seq,{plus,{rule,"PERSONA"}},{seq,{rule,"GRPDESCR"},nil}}},
{{gent,"amp"},"&"},
{errors,[]},
{{rule,"STAGEDIR"},pcdata},
{{rule,"SUBTITLE"},pcdata},
{ids,[]},
{{rule,"SPEAKER"},pcdata},
{{rule,"PLAYSUBT"},pcdata},
{{rule,"SUBHEAD"},pcdata},
{{rule,"PERSONAE"},
{seq,{rule,"TITLE"},
{seq,{plus,{alt,{rule,"PERSONA"},{alt,{rule,"PGROUP"},fail}}},nil}}},
{{rule,"EPILOGUE"},
{seq,{rule,"TITLE"},
{seq,{star,{rule,"SUBTITLE"}},
{seq,{plus,{alt,{rule,"STAGEDIR"},{alt,{rule,"SPEECH"},fail}}},
nil}}}},
{warnings,[]},
{{rule,"INDUCT"},
{seq,{rule,"TITLE"},
{seq,{star,{rule,"SUBTITLE"}},
{seq,{alt,{plus,{rule,"SCENE"}},
{alt,{plus,{alt,{rule,"SPEECH"},
{alt,
{rule,"STAGEDIR"},
{alt,{rule,"SUBHEAD"},fail}}}},
fail}},
nil}}}},
{{rule,"SPEECH"},
{seq,{plus,{rule,"SPEAKER"}},
{seq,{plus,{alt,{rule,"LINE"},
{alt,{rule,"STAGEDIR"},{alt,{rule,"SUBHEAD"},fail}}}},
nil}}},
{{rule,"LINE"},{plus,{alt,{rule,"STAGEDIR"},{alt,pcdata,fail}}}},
{{rule,"PERSONA"},pcdata},
{{rule,"P"},pcdata},
{{rule,"GRPDESCR"},pcdata},
{{rule,"TITLE"},pcdata}]
Parse tree
{"PLAY",
[],
[{"TITLE",[],{pcdata,"The Tragedy of Hamlet, Prince of Denmark"}},
{"FM",
[],
[{"P",
[],
{pcdata,"Text placed in the public domain by Moby Lexical Tools, 1992."}},
{"P",[],{pcdata,"SGML markup by Jon Bosak, 1992-1994."}},
{"P",[],{pcdata,"XML version by Jon Bosak, 1996-1997."}},
{"P",
[],
{pcdata,"This work may be freely copied and distributed worldwide."}}]},
{"PERSONAE",
[],
[{"TITLE",[],{pcdata,"Dramatis Personae"}},
[{"PERSONA",[],{pcdata,"CLAUDIUS, king of Denmark. "}},
{"PERSONA",
[],
{pcdata,"HAMLET, son to the late, and nephew to the present king."}},
{"PGROUP",
[],
[[{"PERSONA",[],{pcdata,"GUILDENSTERN"}},
{"PERSONA",[],{pcdata,"OSRIC"}}],
{"GRPDESCR",[],{pcdata,"courtiers."}}]}]]},
{"SCNDESCR",[],{pcdata,"SCENE Denmark."}},
{"PLAYSUBT",[],{pcdata,"HAMLET"}},
[],
[],
[{"ACT",
[],
[{"TITLE",[],{pcdata,"ACT I"}},
[],
[],
[{"SCENE",
[],
[{"TITLE",
[],
{pcdata,"SCENE I. Elsinore. A platform before the castle."}},
[],
[{"STAGEDIR",
[],
{pcdata,"FRANCISCO at his post. Enter to him BERNARDO"}},
{"SPEECH",
[],
[[{"SPEAKER",[],{pcdata,"BERNARDO"}}],
[{"LINE",[],[{pcdata,"Who's there?"}]}]]},
{"SPEECH",
[],
[[{"SPEAKER",[],{pcdata,"PRINCE FORTINBRAS"}}],
[{"LINE",[],[{pcdata,"Let four captains"}]},
{"LINE",
[],
[{pcdata,"Bear Hamlet, like a soldier, to the stage;"}]},
{"LINE",[],[{pcdata,"For he was likely, had he been put on,"}]},
{"LINE",
[],
[{pcdata,"To have proved most royally: and, for his passage,"}]},
{"LINE",[],[{pcdata,"The soldiers' music and the rites of war"}]},
{"LINE",[],[{pcdata,"Speak loudly for him."}]},
{"LINE",[],[{pcdata,"Take up the bodies: such a sight as this"}]},
{"LINE",
[],
[{pcdata,"Becomes the field, but here shows much amiss."}]},
{"LINE",[],[{pcdata,"Go, bid the soldiers shoot."}]}]]},
{"STAGEDIR",
[],
{pcdata,"A dead march. Exeunt, bearing off the dead\nbodies; after which a peal of ordnance is shot off"}}]]}],
[]]}],
[]]}
<?XML version="1.0"?> <!DOCTYPE foobar [ <!ENTITY % abc "aaa"> <!ENTITY lme "LM Ericsson"> <!ENTITY % ISOLat2 SYSTEM "ISOlat1.xml" > <!ELEMENT foobar (#PCDATA)> %ISOLat2; ]> <foobar> I work at &lme; ¢ hoho </foobar>
Parse failed
Errors
["line 5 ","cannot read entity ","SYSTEM","ISOlat1.xml"]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
pqr IDREF #REQUIRED
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered">para2</list>
<form method="POST" pqr="foo">para3</form>
</greeting>
Parse succeeded
Dictionary
[{{attr,"FORM"},[{"pqr",{idref,required}},{"method",{cdata,{fixed,"POST"}}}]},
{{rule,"TERMDEF"},pcdata},
{warnings,[]},
{{rule,"FORM"},pcdata},
{errors,[]},
{{attr,"LIST"},
[{"type",{enum,["bullets","ordered","glossary"],{default,"ordered"}}}]},
{{rule,"B"},pcdata},
{idrefs,["foo"]},
{{rule,"LIST"},pcdata},
{ids,["foo"]},
{top,"GREETING"},
{{attr,"TERMDEF"},[{"id",{id,required}},{"name",{cdata,implied}}]},
{{rule,"GREETING"},
{seq,{rule,"TERMDEF"},{seq,{rule,"LIST"},{seq,{rule,"FORM"},nil}}}}]
Parse tree
{"GREETING",
[],
[{"TERMDEF",[{"id","foo"},{"name","Hejho"}],{pcdata,"para1"}},
{"LIST",[{"type","ordered"}],{pcdata,"para2"}},
{"FORM",[{"pqr","foo"},{"method","POST"}],{pcdata,"para3"}}]}
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
p IDREF #REQUIRED
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered" p="foo">para2</list>
<form method="POST">para3</form>
</greeting>
Parse succeeded
Dictionary
[{{attr,"FORM"},[{"method",{cdata,{fixed,"POST"}}}]},
{{rule,"TERMDEF"},pcdata},
{warnings,[]},
{{rule,"FORM"},pcdata},
{errors,[]},
{{attr,"LIST"},
[{"p",{idref,required}},
{"type",{enum,["bullets","ordered","glossary"],{default,"ordered"}}}]},
{{rule,"B"},pcdata},
{idrefs,["foo"]},
{{rule,"LIST"},pcdata},
{ids,["foo"]},
{top,"GREETING"},
{{attr,"TERMDEF"},[{"id",{id,required}},{"name",{cdata,implied}}]},
{{rule,"GREETING"},
{seq,{rule,"TERMDEF"},{seq,{rule,"LIST"},{seq,{rule,"FORM"},nil}}}}]
Parse tree
{"GREETING",
[],
[{"TERMDEF",[{"id","foo"},{"name","Hejho"}],{pcdata,"para1"}},
{"LIST",[{"p","foo"},{"type","ordered"}],{pcdata,"para2"}},
{"FORM",[{"method","POST"}],{pcdata,"para3"}}]}
<?XML version="1.0" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (IMG|br)+>
<!ELEMENT br EMPTY>
<!ELEMENT IMG EMPTY>
<!ATTLIST IMG
align CDATA #IMPLIED
src CDATA #IMPLIED>
]>
<greeting>
<IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />
<br/>
<br></br>
</greeting>
Parse succeeded
Dictionary
[{errors,[]},
{{rule,"IMG"},empty},
{{rule,"BR"},empty},
{{attr,"IMG"},[{"align",{cdata,implied}},{"src",{cdata,implied}}]},
{idrefs,[]},
{ids,[]},
{top,"GREETING"},
{warnings,[]},
{{rule,"GREETING"},{plus,{alt,{rule,"IMG"},{alt,{rule,"BR"},fail}}}}]
Parse tree
{"GREETING",
[],
[{"IMG",[{"align","left"},{"src","http://www.w3.org/Icons/WWW/w3c_home"}],[]},
{"BR",[],[]},
{"BR",[],[]}]}
<?XML version='1.0'?> <!DOCTYPE test [ <!ELEMENT test (#PCDATA) > <!ENTITY % xx '%zz;'> <!ENTITY % zz '<!ENTITY tricky "error-prone" >' > %xx; ]> <test>This sample shows a &tricky; method.</test>
Parse succeeded
Dictionary
[{errors,[]},
{{pent,"xx"},"%zz;"},
{{pent,"zz"},"<!ENTITY tricky \"error-prone\" >"},
{idrefs,[]},
{{rule,"TEST"},pcdata},
{ids,[]},
{{gent,"tricky"},"error-prone"},
{top,"TEST"},
{warnings,[]}]
Parse tree
{"TEST",[],{pcdata,"This sample shows a error-prone method."}}
<?XML version="1.0"?> <!DOCTYPE foobar [ <!ENTITY lme "LM Ericsson"> <!ENTITY % include SYSTEM "inc2.xml" > <!ELEMENT foobar (#PCDATA)> %include; ]> <foobar> I work at &lme; hoho </foobar>
Parse succeeded
Warnings
["line 6 ","old style comment dropped no-break space "]
Dictionary
[{errors,[]},
{{pent,"include"},
"<!-- Character entity set. Typical invocation:\n <!ENTITY % silly PUBLIC\n \"ISO 8879-1986//ENTITIES Added Latin 1//EN//HTML\">\n %silly;\n-->\n <!ENTITY nbsp CDATA \" \" -- no-break space -->\n"},
{idrefs,[]},
{ids,[]},
{{rule,"FOOBAR"},pcdata},
{top,"FOOBAR"},
{{gent,"nbsp"}," "},
{{gent,"lme"},"LM Ericsson"},
{warnings,[["line 6 ","old style comment dropped no-break space "]]}]
Parse tree
{"FOOBAR",[],{pcdata,"\nI work at LM Ericsson hoho\n"}}
<?XML version="1.0"?> <!DOCTYPE foobar [ <!ENTITY lme "LM Ericsson"> <!ENTITY % abc SYSTEM "inc1.xml" > <!ELEMENT foobar (#PCDATA)> %abc; ]> <foobar> I work at &lme; hoho </foobar>
Parse succeeded
Dictionary
[{warnings,[]},
{errors,[]},
{idrefs,[]},
{{gent,"iexcl"},"¡"},
{ids,[]},
{{rule,"FOOBAR"},pcdata},
{top,"FOOBAR"},
{{gent,"nbsp"}," "},
{{pent,"abc"},
"<!ENTITY nbsp CDATA \" \" >\n<!ENTITY iexcl CDATA \"¡\" >\n<!ENTITY cent CDATA \"¢\" >\n"},
{{gent,"cent"},"¢"},
{{gent,"lme"},"LM Ericsson"}]
Parse tree
{"FOOBAR",[],{pcdata,"\nI work at LM Ericsson hoho\n"}}
<?XML version="1.0"?> <!DOCTYPE web "SYSTEM" "web.xml"> <web> <name>web</name> <vsn major="2" minor="1" /> <summary>A program for submitting a program to the Erlang web</summary> <author>Joe Armstrong</author> <email>joe@cslab.ericsson.se</email> <visibility readers="world" /> <keywords> <key>publishing</key> <key>html</key> <key>www</key> <key>web</key> </keywords> <files> <file>web.erl</file> <file>web.html</file> </files> <publish> <entry> <section>Web utilities</section> <ref>web.html</ref> <text>This is a program for adding entries to the WWW. Using web provides location transparency etc." </text> </entry> </publish> </web>
Parse succeeded
Dictionary
[{{rule,"NAME"},pcdata},
{top,"WEB"},
{{rule,"AUTHOR"},pcdata},
{{rule,"SECTION"},pcdata},
{{rule,"REF"},pcdata},
{{rule,"SUMMARY"},pcdata},
{errors,[]},
{{rule,"KEYWORDS"},{plus,{rule,"KEY"}}},
{{rule,"EMAIL"},pcdata},
{{rule,"ENTRY"},
{seq,{rule,"SECTION"},{seq,{rule,"REF"},{seq,{rule,"TEXT"},nil}}}},
{{rule,"VSN"},empty},
{ids,[]},
{{rule,"VISIBILITY"},empty},
{{attr,"VISIBILITY"},[{"readers",{cdata,required}}]},
{{rule,"WEB"},
{seq,{rule,"NAME"},
{seq,{rule,"VSN"},
{seq,{rule,"SUMMARY"},
{seq,{rule,"AUTHOR"},
{seq,{rule,"EMAIL"},
{seq,{rule,"VISIBILITY"},
{seq,{rule,"KEYWORDS"},
{seq,
{rule,"FILES"},
{seq,{rule,"PUBLISH"},nil}}}}}}}}}},
{warnings,[]},
{{rule,"PUBLISH"},{plus,{rule,"ENTRY"}}},
{{attr,"VSN"},[{"major",{cdata,required}},{"minor",{cdata,required}}]},
{{rule,"KEY"},pcdata},
{idrefs,[]},
{{rule,"FILES"},{plus,{rule,"FILE"}}},
{{rule,"FILE"},pcdata},
{{rule,"TEXT"},pcdata}]
Parse tree
{"WEB",
[],
[{"NAME",[],{pcdata,"web"}},
{"VSN",[{"major","2"},{"minor","1"}],[]},
{"SUMMARY",
[],
{pcdata,"A program for submitting a program to the Erlang web"}},
{"AUTHOR",[],{pcdata,"Joe Armstrong"}},
{"EMAIL",[],{pcdata,"joe@cslab.ericsson.se"}},
{"VISIBILITY",[{"readers","world"}],[]},
{"KEYWORDS",
[],
[{"KEY",[],{pcdata,"publishing"}},
{"KEY",[],{pcdata,"html"}},
{"KEY",[],{pcdata,"www"}},
{"KEY",[],{pcdata,"web"}}]},
{"FILES",
[],
[{"FILE",[],{pcdata,"web.erl"}},{"FILE",[],{pcdata,"web.html"}}]},
{"PUBLISH",
[],
[{"ENTRY",
[],
[{"SECTION",[],{pcdata,"Web utilities"}},
{"REF",[],{pcdata,"web.html"}},
{"TEXT",
[],
{pcdata,"This is a program for adding entries to the \nWWW. Using web provides location transparency etc.\"\n"}}]}]}]}
<?XML version="1.0" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (IMG|br)+>
<!ELEMENT br EMPTY>
<!ELEMENT IMG EMPTY>
<!ATTLIST IMG
align CDATA #IMPLIED
src CDATA #IMPLIED>
]>
<greeting>
<!-- <IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />
<br/>
</greeting>
Parse failed
Errors
["line 17 ","*** Unexpected EOF in ","Comment"]
<?XML version="1.0" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (IMG|br)+>
<!ELEMENT br EMPTY>
<!ELEMENT IMG EMPTY>
<!ATTLIST IMG
align CDATA #IMPLIED
src CDATA #IMPLIED>
]>
<greeting>
<br/>
<br/>
</greeting>
Parse succeeded
Dictionary
[{errors,[]},
{{rule,"IMG"},empty},
{{rule,"BR"},empty},
{{attr,"IMG"},[{"align",{cdata,implied}},{"src",{cdata,implied}}]},
{idrefs,[]},
{ids,[]},
{top,"GREETING"},
{warnings,[]},
{{rule,"GREETING"},{plus,{alt,{rule,"IMG"},{alt,{rule,"BR"},fail}}}}]
Parse tree
{"GREETING",[],[{"BR",[],[]},{"BR",[],[]}]}
<?XML version="1.0" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (IMG|br)+>
<!ELEMENT br EMPTY>
<!ELEMENT IMG EMPTY>
<!ATTLIST IMG
align CDATA #IMPLIED
src CDATA #IMPLIED>
]>
<greeting>
<IMG align="left" src="http://www.w3.org/Icons/WWW/w3c_home" />
<br/>
<br></br>
Parse failed
Errors
["Parse error",
{found,{[{"IMG",
[{"align","left"},{"src","http://www.w3.org/Icons/WWW/w3c_home"}],
[]},
{"BR",[],[]},
{"BR",[],[]}],
[]},
"no end tag for ",
"GREETING",
" start tag was in line ",
11}]
<?XML version="1.0" RMD='INTERNAL'?>
<!-- declarations for <head> & <body> -->
<!DOCTYPE fooybar [
<!ELEMENT br EMPTY>
<!ELEMENT %name.para; %content.para; >
<!ELEMENT container ANY>
<!ELEMENT spec (front, body, back?)>
<!ELEMENT div1 (head, (p | list | note)*, div2*)>
<!ELEMENT head (%head.content; | %head.misc;)*>
<!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
<!ELEMENT b (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ENTITY % draft 'INCLUDE' >
<!ENTITY % final 'IGNORE' >
<![%draft;[
<!ELEMENT book (comments*, title, body, supplements?)>
]]>
<![%final;[
<!ELEMENT book (title, body, supplements?)>
]]>
<!ENTITY % ISOLat2
SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
%ISOLat2;
<!ENTITY Pub-Status "This is a pre-release of the
specification.">
<!ENTITY open-hatch
SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY open-hatch
PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
"http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY hatch-pic
SYSTEM "../grafix/OpenHatch.gif"
NDATA gif >
<?XML ENCODING='UTF-8'?>
<?XML ENCODING='EUC-JP'?>
<!ENTITY lt "<">
<!ENTITY gt ">">
<!ENTITY amp "&">
<!ENTITY apos "'">
<!ENTITY quot '"'>
]>
<![CDATA[<greeting>Hello, world!</greeting>]]>
<termdef id="dt-dog" term="dog">
foo
</termdef>
<IMG align="left"
src="http://www.w3.org/Icons/WWW/w3c_home" />
<br></br>
<br/>
Parse failed
Errors
["line 50 ",
"unrecognised dtd element",
['?',"XML","ENCODING",'=',{lit,50,"EUC-JP"},'?']]
["line 49 ",
"unrecognised dtd element",
['?',"XML","ENCODING",'=',{lit,49,"UTF-8"},'?']]
["line 45 ",
"unrecognised dtd element",
['!',
"ENTITY",
"hatch-pic",
"SYSTEM",
{lit,46,"../grafix/OpenHatch.gif"},
"NDATA",
"gif"]]
["line 42 ",
"unrecognised dtd element",
['!',
"ENTITY",
"open-hatch",
"PUBLIC",
{lit,43,"-//Textuality//TEXT Standard open-hatch boilerplate//EN"},
{lit,44,"http://www.textuality.com/boilerplate/OpenHatch.xml"}]]
["line 40 ",
"unrecognised dtd element",
['!',
"ENTITY",
"open-hatch",
"SYSTEM",
{lit,41,"http://www.textuality.com/boilerplate/OpenHatch.xml"}]]
["line 34 ",
"cannot read entity ",
"SYSTEM",
"http://www.xml.com/iso/isolat2-xml.entities"]
["line 31 ",
"unrecognised dtd element",
['!',
'[',
"IGNORE",
'[',
{tag,32,"!ELEMENT book (title, body, supplements?)"},
']',
']']]
["line 28 ",
"unrecognised dtd element",
['!',
'[',
"INCLUDE",
'[',
{tag,29,"!ELEMENT book (comments*, title, body, supplements?)"},
']',
']']]
["line 13 ",
"Error in Model expecting:",
"'(' or a string",
" found ",
['|','|','|',')','*']]
["line 13 ","undefined PE ","form"]
["line 13 ","undefined PE ","special"]
["line 13 ","undefined PE ","phrase"]
["line 13 ","undefined PE ","font"]
["line 10 ",
"Error in Model expecting:",
"'(' or a string",
" found ",
['|',')','*']]
["line 10 ","undefined PE ","head.misc"]
["line 10 ","undefined PE ","head.content"]
["line 6 ","Error in Model expecting:","( or EMPTY"," found ",["ANY"]]
["line 5 ","unrecognised dtd element",['!',"ELEMENT"]]
["line 5 ","undefined PE ","content.para"]
["line 5 ","undefined PE ","name.para"]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
p IDREF #REQUIRED
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered" p="foo">para2</list>
<form method="POST">para3</form>
</greeting>
Parse succeeded
Dictionary
[{{attr,"FORM"},[{"method",{cdata,{fixed,"POST"}}}]},
{{rule,"TERMDEF"},pcdata},
{warnings,[]},
{{rule,"FORM"},pcdata},
{errors,[]},
{{attr,"LIST"},
[{"p",{idref,required}},
{"type",{enum,["bullets","ordered","glossary"],{default,"ordered"}}}]},
{{rule,"B"},pcdata},
{idrefs,["foo"]},
{{rule,"LIST"},pcdata},
{ids,["foo"]},
{top,"GREETING"},
{{attr,"TERMDEF"},[{"id",{id,required}},{"name",{cdata,implied}}]},
{{rule,"GREETING"},
{seq,{rule,"TERMDEF"},{seq,{rule,"LIST"},{seq,{rule,"FORM"},nil}}}}]
Parse tree
{"GREETING",
[],
[{"TERMDEF",[{"id","foo"},{"name","Hejho"}],{pcdata,"para1"}},
{"LIST",[{"p","foo"},{"type","ordered"}],{pcdata,"para2"}},
{"FORM",[{"method","POST"}],{pcdata,"para3"}}]}
<?XML version="1.0" RMD='INTERNAL'?>
<!-- declarations for <head> & <body> -->
<!DOCTYPE fooybar [
<!ELEMENT br EMPTY>
<!ELEMENT %name.para; %content.para; >
<!ELEMENT container ANY>
<!ELEMENT spec (front, body, back?)>
<!ELEMENT div1 (head, (p | list | note)*, div2*)>
<!ELEMENT head (%head.content; | %head.misc;)*>
<!ELEMENT p (#PCDATA|a|ul|b|i|em)*>
<!ELEMENT p (#PCDATA | %font; | %phrase; | %special; | %form;)* >
<!ELEMENT b (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ENTITY % draft 'INCLUDE' >
<!ENTITY % final 'IGNORE' >
<!ENTITY % ISOLat2
SYSTEM "http://www.xml.com/iso/isolat2-xml.entities" >
%ISOLat2;
<!ENTITY Pub-Status "This is a pre-release of the
specification.">
<!ENTITY open-hatch
SYSTEM "http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY open-hatch
PUBLIC "-//Textuality//TEXT Standard open-hatch boilerplate//EN"
"http://www.textuality.com/boilerplate/OpenHatch.xml">
<!ENTITY hatch-pic
SYSTEM "../grafix/OpenHatch.gif"
NDATA gif >
<?XML ENCODING='UTF-8'?>
<?XML ENCODING='EUC-JP'?>
<!ENTITY lt "<">
<!ENTITY gt ">">
<!ENTITY amp "&">
<!ENTITY apos "'">
<!ENTITY quot '"'>
]>
<![CDATA[<greeting>Hello, world!</greeting>]]>
<termdef id="dt-dog" term="dog">
foo
</termdef>
<IMG align="left"
src="http://www.w3.org/Icons/WWW/w3c_home" />
<br></br>
<br/>
Parse failed
Errors
["line 45 ",
"unrecognised dtd element",
['?',"XML","ENCODING",'=',{lit,45,"EUC-JP"},'?']]
["line 44 ",
"unrecognised dtd element",
['?',"XML","ENCODING",'=',{lit,44,"UTF-8"},'?']]
["line 40 ",
"unrecognised dtd element",
['!',
"ENTITY",
"hatch-pic",
"SYSTEM",
{lit,41,"../grafix/OpenHatch.gif"},
"NDATA",
"gif"]]
["line 37 ",
"unrecognised dtd element",
['!',
"ENTITY",
"open-hatch",
"PUBLIC",
{lit,38,"-//Textuality//TEXT Standard open-hatch boilerplate//EN"},
{lit,39,"http://www.textuality.com/boilerplate/OpenHatch.xml"}]]
["line 35 ",
"unrecognised dtd element",
['!',
"ENTITY",
"open-hatch",
"SYSTEM",
{lit,36,"http://www.textuality.com/boilerplate/OpenHatch.xml"}]]
["line 29 ",
"cannot read entity ",
"SYSTEM",
"http://www.xml.com/iso/isolat2-xml.entities"]
["line 13 ",
"Error in Model expecting:",
"'(' or a string",
" found ",
['|','|','|',')','*']]
["line 13 ","undefined PE ","form"]
["line 13 ","undefined PE ","special"]
["line 13 ","undefined PE ","phrase"]
["line 13 ","undefined PE ","font"]
["line 10 ",
"Error in Model expecting:",
"'(' or a string",
" found ",
['|',')','*']]
["line 10 ","undefined PE ","head.misc"]
["line 10 ","undefined PE ","head.content"]
["line 6 ","Error in Model expecting:","( or EMPTY"," found ",["ANY"]]
["line 5 ","unrecognised dtd element",['!',"ELEMENT"]]
["line 5 ","undefined PE ","content.para"]
["line 5 ","undefined PE ","name.para"]
<?XML version="1.0"?> <!DOCTYPE web [ <!ELEMENT web (name,vsn,summary,author,email,visibility,keywords,files, publish)> <!ELEMENT name (#PCDATA)> <!ELEMENT vsn EMPTY> <!ATTLIST vsn maj CDATA #REQUIRED min CDATA #REQUIRED> <!ELEMENT summary (#PCDATA)> <web> <name>web</name> <vsn maj="2" minor="1" /> <summary>A program for submitting a program to the Erlang web</summary> <author>Joe Armstrong</author> <email>joe@cslab.ericsson.se</email> <visibility readers=world /> <keywords> <key>publishing</key> <key>html</key> <key>www</key> <key>web</key> <keywords> <files> <file>web.erl</file> <file>web.html</file> </files> <publish> <in>utilities</in> <entry> <section>Web utilities</section> <ref>web.html</ref> <text>This is a program for adding entries to the WWW. Using <b>web</b> provides location transparency etc." </text> </entry> </publish> <abstract>This is a program for submitting entries to ..." </abstract> </web>
Parse failed
Errors
["line 42 ","*** Unexpected EOF in ","in a tag"]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (paras)>
<!ELEMENT paras (p+)>
<!ELEMENT p (#PCDATA)>
<!ATTLIST (p|x) -- header or data cell --
%attrs; -- %coreattrs, %i18n, %events --
abbr CDATA #IMPLIED -- abbreviation for header cell --
axis CDATA #IMPLIED -- names groups of related headers--
axes IDREFS #IMPLIED -- list of id's for header cells --
rowspan NUMBER 1 -- number of rows spanned by cell --
colspan NUMBER 1 -- number of cols spanned by cell --
%cellhalign; -- horizontal alignment in cells --
%cellvalign; -- vertical alignment in cells --
width %Pixels; #IMPLIED -- suggested width for cell --
height %Pixels; #IMPLIED -- suggested height for cell --
>
]>
<greeting>
<paras>
<p>para1</p>
<p>para2</p>
</paras>
</greeting>
Parse failed
Errors
["line 6 ", " bad attribute", ["Cannot parse ATTLIST elements", ["p", '|', "x", ')', "abbr", "CDATA", '#', "IMPLIED", "axis", "CDATA", '#', "IMPLIED", "axes", "IDREFS", '#', "IMPLIED", "rowspan", "NUMBER", '1', "colspan", "NUMBER", '1', "width", '#', "IMPLIED", "height", '#', "IMPLIED"]]]
["line 6 ","undefined PE ","Pixels"]
["line 6 ","undefined PE ","Pixels"]
["line 6 ","undefined PE ","cellvalign"]
["line 6 ","undefined PE ","cellhalign"]
["line 6 ","undefined PE ","attrs"]
Warnings
["line 16 ","old style comment dropped suggested height for cell "]
["line 15 ","old style comment dropped suggested width for cell "]
["line 14 ","old style comment dropped vertical alignment in cells "]
["line 13 ","old style comment dropped horizontal alignment in cells "]
["line 12 ","old style comment dropped number of cols spanned by cell "]
["line 11 ","old style comment dropped number of rows spanned by cell "]
["line 10 ","old style comment dropped list of id's for header cells "]
["line 9 ","old style comment dropped names groups of related headers"]
["line 8 ","old style comment dropped abbreviation for header cell "]
["line 7 ","old style comment dropped %coreattrs, %i18n, %events "]
["line 6 ","old style comment dropped header or data cell "]
<?XML version="1.0">
<!DOCTYPE greeting [
<!ATTLIST a
axes list of is'd
>
]>
Parse failed
Errors
["line 9 ","*** Unexpected EOF in ","in a tag"]
["line 9 ","*** Unexpected EOF in ","Literal which started in line 4"]
<?XML version="1.0">
Parse failed
Errors
["line 1 ","expecting a terminating ? found ",[]]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (paras)>
<!ELEMENT paras (p+)>
<!ELEMENT p (#PCDATA)>
<!ATTLIST (p|x) -- header or data cell --
%attrs; -- %coreattrs, %i18n, %events --
abbr CDATA #IMPLIED -- abbreviation for header cell --
axis CDATA #IMPLIED -- names groups of related headers--
axes IDREFS #IMPLIED -- list of id's for header cells --
rowspan NUMBER 1 -- number of rows spanned by cell --
colspan NUMBER 1 -- number of cols spanned by cell --
%cellhalign; -- horizontal alignment in cells --
%cellvalign; -- vertical alignment in cells --
width %Pixels; #IMPLIED -- suggested width for cell --
height %Pixels; #IMPLIED -- suggested height for cell --
>
]>
<greeting>
<paras>
<p>para1</p>
<p>para2</p>
</paras>
</greeting>
Parse failed
Errors
["line 6 ", " bad attribute", ["Cannot parse ATTLIST elements", ["p", '|', "x", ')', "abbr", "CDATA", '#', "IMPLIED", "axis", "CDATA", '#', "IMPLIED", "axes", "IDREFS", '#', "IMPLIED", "rowspan", "NUMBER", '1', "colspan", "NUMBER", '1', "width", '#', "IMPLIED", "height", '#', "IMPLIED"]]]
["line 6 ","undefined PE ","Pixels"]
["line 6 ","undefined PE ","Pixels"]
["line 6 ","undefined PE ","cellvalign"]
["line 6 ","undefined PE ","cellhalign"]
["line 6 ","undefined PE ","attrs"]
Warnings
["line 16 ","old style comment dropped suggested height for cell "]
["line 15 ","old style comment dropped suggested width for cell "]
["line 14 ","old style comment dropped vertical alignment in cells "]
["line 13 ","old style comment dropped horizontal alignment in cells "]
["line 12 ","old style comment dropped number of cols spanned by cell "]
["line 11 ","old style comment dropped number of rows spanned by cell "]
["line 10 ","old style comment dropped list of id's for header cells "]
["line 9 ","old style comment dropped names groups of related headers"]
["line 8 ","old style comment dropped abbreviation for header cell "]
["line 7 ","old style comment dropped %coreattrs, %i18n, %events "]
["line 6 ","old style comment dropped header or data cell "]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
p IDREF #REQUIRED
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered">para2</list>
<form method="POST">para3</form>
</greeting>
Parse failed
Errors
["there are some ID conflicts, the following IDs were defined but have no corresponding IDREFs", ["foo"]]
["line 20 ","bad attribute",idref,"is required but no value supplied"]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
p IDREF #REQUIRED
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered" p="foo1">para2</list>
<form method="POST">para3</form>
</greeting>
Parse failed
Errors
["there are some ID conflicts, the following IDs were defined but have no corresponding IDREFs", ["foo"]]
<?XML version="1.0" encoding="UTF-8" ?>
<!DOCTYPE greeting [
<!ELEMENT greeting (termdef,list,form)>
<!ELEMENT termdef (#PCDATA)>
<!ELEMENT list (#PCDATA)>
<!ELEMENT form (#PCDATA)>
<!ATTLIST termdef
id ID #REQUIRED
name CDATA #IMPLIED>
<!ATTLIST list
type (bullets|ordered|glossary) "ordered">
<!ATTLIST form
method CDATA #FIXED "POST">
<!ELEMENT b (#PCDATA)>
]>
<greeting>
<termdef id="foo" name="Hejho">para1</termdef>
<list type="ordered">para2</list>
<form method="aa">para3</form>
</greeting>
Parse failed
Errors
["there are some ID conflicts, the following IDs were defined but have no corresponding IDREFs", ["foo"]]
["line 20 ", "bad attribute", "expecting the #FIXED string ", "POST", " found ", "aa"]