xml—約束(DTD)

1.什麼是XML約束

  在xml技術裏,可以編寫一個文檔來約束一個XML文檔的書寫規範,這稱之爲XML約束

2.爲什麼需要XM約束

3.常用的約束技術

  .XML DTD

  .XML Schema

 

一、引用DTD約束

  XML文件使用DOCTYPE聲明語句來指明它所遵循的DTD文件,DOCTYPE聲明語句有兩種形式:

   .當引用的文件在本地時,採用如下方式

    <!DOCTYPE 文檔根節點 SYSTEM “DTD文件的URL”>

eg.<!DOCTYPE 書架 SYSTEM “book.dtd”>

    .當引用的文件是一個公共的文件時,採用如下方式:

  <!DOCTYPE 文檔根節點 PUBLIC “DTD名稱” "DTD文件的URL">

eg.<!DOCTYPE  web-app PUBLIC “-//Sun Microsystems, Inc.//DTD Web Application 2.3//EN”

 "http://java.sun.com/dtd/web-app_2_3.dtd">

二、DTD約束語法細節

1.元素定義

  使用ELEMENT聲明一個XML元素

  語法格式:<!ELEMENT 元素名稱 元素類型>

2.屬性定義

   通過ATTLIST爲其設置屬性

語法格式:

<!ATTLIST 元素名 

                   屬性名1 屬性值類型 設置說明

                  屬性名2 屬性值類型 設置說明

                  ...........

                  >

eg.屬性聲明

    <!ATTLIST 商品

           類別 CREQU CDATA #REQUIRED

           顏色   CDATA #IMPLIED>

  #REQUIRED:必須設置該屬性

  常用的屬性值類型

  .CDATA:表示屬性值爲普通文本字符串

  .ENUMERATED

  .ID

    表示屬性的設置值爲唯一值

   ID屬性的值只能由字母,下劃線開始,不能出現空白字符

  .ENTITY(實體)

3.實體定義

  用於爲一段內容創建一個別名,以後在XML文檔中就可以使用別名引用這段內容

 在DTD定義中,一條<!ENTITY ...>語句用於定義一個實體

實體可以分爲兩種類型:引用實體和參數實體

實體定義——>引用實體

引用實體主要在XML文檔中使用

語法格式:

<!ENTITY 實體名稱 “實體內容”>

引用方式:&實體名稱;

 eg.<!ENTITY copyright “I am a programmer”>

  .....

&copyright ;


實體定義——>參數實體

參數實體被DTD文件自身使用

語法格式:

<!ENTITY % 實體名稱 "實體內容">

引用方式:

%實體名稱;

eg.

<!ENTITY % TAG_NAMES “姓名|EMALL|電話|地址”>

<!ELEMENT 個人信息(%TAG_NAMES ;|生日)>

<!ELEMENT 客戶信息(%TAG_NAMES ;|公司名)>

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章