要求一:能看懂别人写的DTD文件,自己能写更好。例如products.dtd:
1 <!ENTITY AUTHOR "John Doe"> 2 <!ENTITY COMPANY "JD Power Tools, Inc."> 3 <!ENTITY EMAIL "[email protected]"> 4 5 <!ELEMENT CATALOG (PRODUCT+)> 6 7 <!ELEMENT PRODUCT 8 (SPECIFICATIONS+,OPTIONS?,PRICE+,NOTES?)> 9 <!ATTLIST PRODUCT 10 NAME CDATA #IMPLIED 11 CATEGORY (HandTool|Table|Shop-Professional) "HandTool" 12 PARTNUM CDATA #IMPLIED 13 PLANT (Pittsburgh|Milwaukee|Chicago) "Chicago" 14 INVENTORY (InStock|Backordered|Discontinued) "InStock"> 15 16 <!ELEMENT SPECIFICATIONS (#PCDATA)> 17 <!ATTLIST SPECIFICATIONS 18 WEIGHT CDATA #IMPLIED 19 POWER CDATA #IMPLIED> 20 21 <!ELEMENT OPTIONS (#PCDATA)> 22 <!ATTLIST OPTIONS 23 FINISH (Metal|Polished|Matte) "Matte" 24 ADAPTER (Included|Optional|NotApplicable) "Included" 25 CASE (HardShell|Soft|NotApplicable) "HardShell"> 26 27 <!ELEMENT PRICE (#PCDATA)> 28 <!ATTLIST PRICE 29 MSRP CDATA #IMPLIED 30 WHOLESALE CDATA #IMPLIED 31 STREET CDATA #IMPLIED 32 SHIPPING CDATA #IMPLIED> 33 34 <!ELEMENT NOTES (#PCDATA)>
要求二:能根据别人写的DTD文件来写符合标准的xml文件,products.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <!DOCTYPE CATALOG SYSTEM "products.dtd"> 3 <CATALOG> 4 <PRODUCT NAME="冰箱" CATEGORY="HandTool" PLANT="Chicago" INVENTORY="Discontinued"> 5 <SPECIFICATIONS WEIGHT="80kg" POWER="1000w">这是国产海尔冰箱</SPECIFICATIONS> 6 <PRICE>1000</PRICE> 7 <NOTES>轻拿轻放</NOTES> 8 </PRODUCT> 9 </CATALOG>
要求三:可以检验自己写的xml文件是否有误, checkdtd.html
1 <html> 2 <head> 3 <title>测试dtd</title> 4 <meta http-equiv="content-type" content="text/html;charset=utf-8"/> 5 <script language="javascript"> 6 <!-- 7 //创建一个xml解析器 8 var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); 9 //开启校验功能 10 xmldoc.validateOnParse =true; 11 //指定对哪个 xml文件校验 12 xmldoc.load("products.xml"); 13 //如果有错误信息,则输出 14 document.write("错误信息="+xmldoc.parseError.reason+"<br/>"); 15 document.write("错误的行号="+xmldoc.parseError.line+"<br/>"); 16 17 //--> 18 </script> 19 </head> 20 </html>
以上代码写的时候都要注意编码一致为utf-8
时间: 2024-11-12 17:48:51