可擴展標記語言XML之二:XML語言格式規範、文檔組成

你們好,小樂又來了,很久不見!此次接着上次可擴展標記語言XML之一:XML概念,做用,示例,繼續講述XML。編碼

圖片描述

1、格式良好的 xml

一、語法規範:

1)、必須有 XML 文檔聲明:spa

<?xml version="1.0"?> 
<?xml version="1.0" encoding="UTF-8"?> 
<?xml version="1.0" standalone="yes"?> 
<?xml version="1.0" encoding="UTF-8" standalone="yes" ?>

說明:
XML standalone 定義了外部定義的 DTD 文件的存在性. standalone element 有效值是 yes 和 no. 以下是一個例子:code

<?xml version="1.0" encoding="UTF-8" standalone="no"?> 
<!DOCTYPE s1 PUBLIC "http://www.ibm.com/example.dtd" "example.dtd"> 
<s1>.........</s1>

值 no 表示這個 XML 文檔不是獨立的而是依賴於外部所定義的一個 DTD. 值 yes 表xml

示這個 XML 文檔是自包含的(self-contained).blog

注意文本文件保存時候默認的編碼格式是ANSI,需用記事本把它手動改成UTF-8保存。圖片

2)、必須有且僅有一個根元素utf-8

3)、嚴格區分大小寫element

4)、屬性值用引號(雙引號或單引號) :等號分開的名稱-值對;在一個元素上,相同的屬文檔

性只能出現一次it

5)、標記成對;

6)、空標記關閉;

7)、元素正確嵌套。

二、元素命名規則

1)、名稱中能夠包含字母、數字或者其餘可見字符;

2)、名稱不能以數字開頭;

3)、不能以 XML/xml/Xml…開頭;

4)、名稱中不能含空格;

5)、名稱中不能含冒號(注:冒號留給命名空間使用)

三、實體

實體叫 ENTITY,實體的做用是避免重複輸入。做用至關於宏或者變量。

1)內置的 5 種實體

實體 符號

< <

& &

" "

' '

2)自定義實體

<!DOCTYPE 根元素[ 
<!--實體聲明--> 
<!ENTITY 實體名 "實體內容"> 
]> 
使用已定義的實體:&實體名; 
<?xml version="1.0" encoding="UTF-8"?> 
<!DOCTYPE sxt[ 
<!--實體聲明--> 
<!ENTITY xm "明明"> 
<!ENTITY gen "保密"> 
]>
<sxt> 
<teacher> 
<name>明明</name> 
<gender>保密</gender> 
</teacher> 
<!--引用實體的方法--> 
<teacher> 
<name>&xm;</name> 
<gender>&gen;</gender> 
</teacher> 
</sxt>

四、文檔類型聲明

文檔類型定義——DOCTYPE,文檔類型聲明,緊跟 XML 聲明以後,包含全部實體聲明

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE 根元素標記名[ 
<!--實體聲明--> 
]>

2、XML 文檔組成

一、構成

全部的 XML 文檔(以及 HTML 文檔)均由如下簡單的構建模塊構成:

元素

屬性

實體

PCDATA

CDATA

CDATA 節(character data)

二、CDATA

用於把整段文本解釋爲純字符數據而不是標記的狀況。如包含大量的<、>、&、或者"

字符。CDATA 節中的全部字符都會被當作元素字符數據的常量部分,而不是 XML 標記,

能夠輸入除]]>外任意字符,不能嵌套。

<![CDATA[ ...... ]]>

三、PCDATA

PCDATA 的意思是被解析的字符數據(parsed character data)。 可把字符數據想象爲 XML 元素的開始標籤與結束標籤之間的文本。

PCDATA 是會被解析器解析的文本。這些文本將被解析器檢查實體以及標記。

文本中的標籤會被看成標記來處理,而實體會被展開。

不過,被解析的字符數據不該當包含任何 &、< 或者 > 字符;須要使用 &、< 以及 >

的內置實體來分別替換它們。

相關文章
相關標籤/搜索