当前位置:编程学习 > JAVA >>

dtd(内部与外部)约束模式举例

 

内嵌DTD:

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE 书架[
  <!ELEMENT 书架(书+)>
  <!ELEMENT 书(书名,作者,售价)>
  <!ELEMENT 书名(#PCDATA)>
  <!ELEMENT 作者(#PCDATA)>
  <!ELEMENT 售价(#PCDATA)>  
]>
<书架>
  <书>
    <书名>java</书名>
    <作者>白艳</作者>
    <售价>78</售价>
  </书>
  <书>
    <书名>c++</书名>
    <作者>钱能</作者>
    <售价>12</售价>
  </书>
  
</书架>

 

外部DTD:

book.dtd

<?xml version="1.0" encoding="UTF-8"?>
 <!--  ?:0 1   +:1 N   *:0 N      |:或   EMPTY:当前标记内容必须为空  ANY:当前文档中所有的标记都可以出现-->
 <!ELEMENT bookinfo (book)+>
 <!ELEMENT book ((name | bookname), author, price, type, age)>
 <!ELEMENT name (#PCDATA)>
 <!ELEMENT bookname (#PCDATA)>
 <!ELEMENT author (#PCDATA)>
 <!ELEMENT price (#PCDATA)>
 <!ELEMENT type EMPTY>
 <!ELEMENT age ANY>
 <!-- 属性:ATTLIST       
  ATTLIST 节点名字 属性名字 类型(CDATA|ID ) #约束条件         
  如:#FIXED "111" :指定当前的id属性必须为111  
  #REQUIRED:属性必须存在 
  #IMPLIED :属性可以不存在  
  ID:唯一值
  
  
  <!ATTLIST element-name attribute-name CDATA "default-value">
默认属性值
<!ATTLIST element-name attribute-name attribute-type #IMPLIED>
隐含的属性值
<!ATTLIST element-name attribute_name attribute-type #REQUIRED>
必添的属性
<!ATTLIST element-name attribute_name attribute-type #FIXED “value”>
固定属性值
Attribute-type - Type
ID - 当前元素的编号
IDREF-引用其他元素的编号

      -->
 <!ATTLIST book id ID #IMPLIED>

 

book.xml

<?xml version="1.0" encoding="gb2312"?>
<!DOCTYPE bookinfo SYSTEM "book.dtd">
<!--
<!DOCTYPE bookinfo PUBLIC "http://www.csuinfosoft.com" "book.dtd" >
-->
<bookinfo>
 <book id="A">
  <name>java编程思想</name>
  <author>啊三</author>
  <price>98</price>
  <type/>
  <age>
   <name/>
  </age>
 </book>
 <book id="B">
  <bookname>7天精通炒股</bookname>
  <author>周星星</author>
  <price>198</price>
  <type/>
  <age/>
 </book>
</bookinfo>

补充:软件开发 , Java ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,