DTD – 元素概述
導讀 | DTD(文件型別定義)的作用是定義 XML 文件的合法構建模組。在一個 DTD 中,元素透過元素宣告來進行宣告。 |
宣告一個元素
在 DTD 中,XML 元素透過元素宣告來進行宣告。元素宣告使用下面的語法:
<!ELEMENT element-name category> 或 <!ELEMENT element-name (element-content)>
空元素
空元素透過類別關鍵詞EMPTY進行宣告:
<!ELEMENT element-name category> 或 <!ELEMENT element-name (element-content)>
只有 PCDATA 的元素
只有 PCDATA 的元素透過圓括號中的 #PCDATA 進行宣告:
<!ELEMENT element-name (#PCDATA)> 例項: <!ELEMENT from (#PCDATA)>
帶有任何內容的元素
透過類別關鍵詞 ANY 宣告的元素,可包含任何可解析資料的組合:
<!ELEMENT element-name ANY> 例項: <!ELEMENT note ANY>
帶有子元素(序列)的元素
帶有一個或多個子元素的元素透過圓括號中的子元素名進行宣告:
<!ELEMENT element-name (child1)> 或 <!ELEMENT element-name (child1,child2,...)> 例項: <!ELEMENT note (to,from,heading,body)>
當子元素按照由逗號分隔開的序列進行宣告時,這些子元素必須按照相同的順序出現在文件中。在一個完整的宣告中,子元素也必須被宣告,同時子元素也可擁有子元素。"note" 元素的完整宣告是:
<!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>
宣告只出現一次的元素
<!ELEMENT element-name (child-name)> 例項: <!ELEMENT note (message)>
宣告最少出現一次的元素
<!ELEMENT element-name (child-name+)> 例項: <!ELEMENT note (message+)>
上面的例子中的加號(+)宣告瞭:message 子元素必須在 "note" 元素內出現至少一次。
宣告出現零次或多次的元素
<!ELEMENT element-name (child-name*)> 例項: <!ELEMENT note (message*)>
上面的例子中的星號(*)宣告瞭:子元素 message 可在 "note" 元素內出現零次或多次。
宣告出現零次或一次的元素
<!ELEMENT element-name (child-name?)> 例項: <!ELEMENT note (message?)>
上面的例子中的問號(?)宣告瞭:子元素 message 可在 "note" 元素內出現零次或一次。
宣告"非.../即..."型別的內容
例項: <!ELEMENT note (to,from,header,(message|body))>
上面的例子宣告瞭:"note" 元素必須包含 "to" 元素、"from" 元素、"header" 元素,以及非 "message" 元素即 "body" 元素。
宣告混合型的內容
例項: <!ELEMENT note (#PCDATA|to|from|header|message)*>
上面的例子宣告瞭:"note" 元素可包含出現零次或多次的 PCDATA、"to"、"from"、"header" 或者 "message"。
原文來自:
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2854360/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- XML 元素概述XML
- HTML input 元素概述HTML
- XSLT 元素概述
- XSLT 元素概述
- XSD 空元素概述
- XSD 僅含元素概述
- XSD 簡易元素概述
- XSD 複合元素概述
- dtd檔案入門
- DTD文件型別定義型別
- 給XML檔案定義DTDXML
- Spring中DTD和XSDSpring
- ibatis 新增DTD 自動提示BAT
- Html-文件型別(DTD)和DOCTYPEHTML型別
- 中文web-app_2_3.dtd (轉)WebAPP
- XML中的DTD文件型別定義XML型別
- Office 365 - For security reasons DTD is prohibited in this XML documentXML
- Hibernate 3.6.1 配置檔案dtd URL改變了
- XML Schema和XML DTD的資料型別比較XML資料型別
- 概述
- JVM 概述JVM
- Java 概述Java
- mongodb 概述MongoDB
- Java概述Java
- TCP 概述TCP
- CloudHub概述Cloud
- ElasticSearch 概述Elasticsearch
- SparkSQL 概述SparkSQL
- Kafka 概述Kafka
- JDBC概述JDBC
- Promise 概述Promise
- GraphHttpClient概述HTTPclient
- FastDFS概述AST
- html概述HTML
- SurfaceView概述View
- uoj概述
- (1)概述
- No grammar constraints (DTD or XML Schema) referenced in the document.的兩種解決辦法AIXML