`
spacefly
  • 浏览: 275614 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

DTD_XML 使用

阅读更多

xml 文档由以下5部分组成,因此dtd定义中也有以下5部分:

  • Elements        元素,最主要的组成部分
  • Attributes       属性
  • Entities           实体,定义了一些固定的 文本 或 字符,相当于它们的快捷方式;有一些预定义实体,具有某些特殊意义,比如 < > " ' & ,也可以自定义实体
  • PCDATA          parsed character data ,其中如果包含特殊实体,则被当作特殊实体看待,比如 > 可能被看做 元素结束符号
  • CDATA            character data ,其中的特殊实体,被当作普通字符看待;
  • ------

    Element 子元素个数: + 表示1个或多个,? 表示0个或1个,* 表示 任意个

    Element 类型如果是 EMPTY 则表示空元素

    ------

    下面是1个dtd示例,包括 people.dtd 和 people.xml 2个文件:

     

     people.dtd:

    <!ENTITY NS "spaceflysky">
    <!ENTITY TRUE "true">
    <!ENTITY FALSE "false">
    <!ENTITY copyright "Copyright@2008">
    
    
    <!ELEMENT peoplelist (people)>
    
    <!ELEMENT people (baseinfo,forte,will,friend*,tarch,other,test)>
    
    <!ELEMENT baseinf (name+,age,sex,country)>
    
    <!ELEMENT name (#PCDATA)>
    <!ELEMENT age (#PCDATA)>
    <!ELEMENT sex (#PCDATA)>
    <!ELEMENT country (#PCDATA)>
    
    <!ELEMENT forte (#PCDATA)>
    <!ELEMENT will (#PCDATA)>
    <!ELEMENT friend (#PCDATA)>
     
    <!ELEMENT tarch (time?,(tel|qq|address))>
    <!ELEMENT tel (#PCDATA)>
    <!ELEMENT qq (#PCDATA)>
    <!ELEMENT address (#PCDATA)>
     
    <!ELEMENT other (#PCDATA)> 
    
    <!ELEMENT test (br)>
    
    <!ELEMENT br EMPTY>
    
    
    <!ATTLIST peoplelist 
    namespace CDATA #FIXED "&NS;" 
    copyright CDATA #IMPLIED>
    
    
    <!ATTLIST people 
    enabled (true|false) "&TRUE;"
    alive (live|dead) #REQUIRED 
    planet CDATA #IMPLIED>
    

     

    people.xml:

    <?xml version="1.0" encoding="utf-8"?>
    <!DOCTYPE people SYSTEM "people.dtd">
    <peoplelist copyright="©right;">
    	<people alive="live" planet="earth">
    		<baseinfo>
    			<name>space</name>
    			<age>21</age>
    			<sex>male</sex>
    			<country>china</country>
    		</baseinfo>
    		<forte></forte>
    		<will></will>
    		<friend></friend>
    		<tarch>
    			<time>any time</time>
    			<qq>123456</qq>
    		</tarch>
    		<other></other>
    		<test>
    			<br />
    		</test>
    	</people>
    </peoplelist>

     

    ------

    下面给出一个可以检查 xml 文件语法的html文件,在IE5.5以上浏览器均可使用:

    使用前修改一下xml文件的位置

    <html>
    <body>
    <script type="text/javascript">
    
    var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async="false";
    xmlDoc.validateOnParse="false";
    xmlDoc.load("validation_test.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>
    </body>
    </html>
    
    

     ------

    一个最权威最标准的dtd教程:

    http://www.w3schools.com/dtd/   是W3C 官方教程,英文的。

    分享到:
    评论

    相关推荐

    Global site tag (gtag.js) - Google Analytics