2025-05-24

 

內嵌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>

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *