DOM解析
1.xml可扩展标记语言(Extensible Makeup Language)
最简单的声明语法:
<?xml version="1.0" ?>
用encoding属性说明文档的字符编码:
<?xml version="1.0" encoding="GB2312" ?>
用standalone属性说明文档是否独立:
<?xml version="1.0" encoding="GB2312" standalone="yes" ?>
格式良好的XML文档必须有且仅有一个根标签,其它标签都是这个根标签的子孙标签
2.在编写XML文件时,有些内容可能不想让解析引擎解析执行,而是当作原始内容处理。
遇到此种情况,可以把这些内容放在CDATA区里,对于CDATA区域内的内容,XML解析程序不会处理,而是直接原封不动的输出。
语法:<![CDATA[ 内容 ]]>
<![CDATA[
<itcast>
<br/>
</itcast>
]]>
3.
文件清单:book.xml
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE books SYSTEM "book.dtd"> <books> <book> <name>Java Thinking</name> <author>Bruce</author> <price>68</price> </book> <book> <name>Java Core</name> <author>Gray</author> <price>79</price> </book> </books>
文件清单:book.dtd
文件清单:book.dtd <!ELEMENT books (book+)> <!ELEMENT book (name,author,price)> <!ELEMENT name (#PCDATA)> <!ELEMENT author (#PCDATA)> <!ELEMENT price (#PCDATA)>
验证XML文档的范例代码1(会用)
<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=UTF-8"> <title>Insert title here</title> <script type="text/javascript"> function initXml(){ var xmldoc = new ActiveXObject("Microsoft.XMLDOM"); xmldoc.validateOnParse = "true"; /**********修改成自己的xml文件*****************/ xmldoc.load("book.xml"); /***************************************************************/ document.write("<br>Error Code: "); document.write(xmldoc.parseError.errorCode); document.write("<br>Error Reason: "); document.write(xmldoc.parseError.reason); document.write("<br>Error Line: "); document.write(xmldoc.parseError.line); } </script> </head> <body onload="initXml();"> </body> </html>
DTD约束即可以作为一个单独的文件编写,也可以在XML文件内编写
XML文件使用 DOCTYPE 声明语句来指明它所遵循的DTD文件
关联方式
•使用内部DTD
格式:<!DOCTYPE 书架 […具体规范内容…]>
•使用外部DTD
格式:<!DOCTYPE 文档根结点 SYSTEM "DTD文件的URL">
例如: <!DOCTYPE books SYSTEM “book.dtd”>
•使用公共DTD
格式:
<!DOCTYPE 文档根结点 PUBLIC "DTD名称" "DTD文件的URL">
例如:
<!DOCTYPE web-app PUBLIC
"-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN“
"http://java.sun.co.m/dtd/web-app_2_3.dtd">
4.实体(相当于变量)
•引用实体主要在 XML 文档中被应用
•语法格式:
•<!ENTITY 实体名称 “实体内容” >
•引用方式:
•&实体名称;
•举例:
•<!ENTITY copyright “I am a programmer">
•……
•©right;
5.内部实体
•参数实体被 DTD 文件自身使用
•语法格式:
•<!ENTITY % 实体名称 "实体内容" >
•引用方式:
•%实体名称;
•举例:
•<!ENTITY %TAG_NAMES "姓名 | EMAIL | 电话 | 地址">
•<!ELEMENT 个人信息 (%TAG_NAMES; | 生日)>
•<!ELEMENT 客户信息 (%TAG_NAMES; | 公司名)>
6.外部实体
l语法格式:
•<!ENTITY 实体名称 SYSTEM "URI/URL">
l引用方式:
•&实体名称;
l举例:
•<!ENTITY info SYSTEM "part.xml">
•……
•& info;
7. schema
* 扩展名:*.xsd
* schema文档来说是基于xml
* schema文档,根元素是schema,在http://www.w3.org/2001/XMLSchema定义
* 要求:(作业)
* 通过别人书写的schema文档,写出相应的XML文档(w3cschool.chm)
** 通过xml文档书写相应的schema文档(PPT5片段)【可选】
我要青春像陈孝正一样,不能有一毫米的误差!
我要青春像合伙人一样,为了自尊而战!