华南俳烁实业有限公司

考試首頁 | 考試用書 | 培訓(xùn)課程 | 模擬考場(chǎng) | 考試論壇  
  當(dāng)前位置:設(shè)計(jì)制作 > XML > 文章內(nèi)容
  

XML教程:XML入門的常見問題(三)

 [ 2017年8月29日 ] 【

  \n

  \t Jane\n

  \tSmith \n

  在本示例中,紅色是可以忽略的不重要的空白字符,而綠色是重要的空白字符,因?yàn)樗俏谋緝?nèi)容的一部分,因此有不可忽略的重要含義。所以在本例中,文本屬性返回下列結(jié)果:

  狀態(tài) 返回值

  保留 "\n\t Jane\n\tSmith \n"

  保留并截?cái)?"Jane\n\tSmith"

  半保留 " Jane Smith "

  半保留并截?cái)?"Jane Smith"

  請(qǐng)注意“半保留”將規(guī)范化不重要的空白字符,例如,新行和 tab 字符將退化為單個(gè)空格。如果更改 xml:space 屬性和 preserveWhiteSpace 開關(guān),那么文本屬性將返回相應(yīng)的不同值。

  CDATA and xml:space="preserve" subtree boundaries

  在下面的例子中,CDATA 節(jié)點(diǎn)或“保留”節(jié)點(diǎn)的內(nèi)容將得到連接,原因是它們不參與不重要的空白字符規(guī)范化。例如:

  \n

  \t Jane \n

  \t Smith ]>\n

  在這種情況下,CDATA 節(jié)點(diǎn)內(nèi)部的空白字符不再與“不重要”空白字符“合并”,并且不會(huì)截?cái)唷R虼恕鞍氡A舨⒔財(cái)唷鼻闆r將返回下列內(nèi)容:

  "Jane Smith "

  在此, 和 標(biāo)記之間的不重要的空白字符將包括在內(nèi),與 CDATA 節(jié)點(diǎn)的內(nèi)容無關(guān)。如果用下列內(nèi)容代替 CDATA,那么將返回相同結(jié)果:

  Smith

  實(shí)體是特殊的

  實(shí)體是作為 DTD 的一部分加載和分析的,并且顯示在 DOCTYPE 節(jié)點(diǎn)下。它們不一定要有任何 xml:space 范圍。例如:

  Jane \n

  \t\n

  ">

  ]>

  &Jane;

  假定 preserveWhiteSpace=false(在 DOCTYPE 標(biāo)記范圍內(nèi)),在分析實(shí)體時(shí)不重要的空白字符丟失。實(shí)體將不會(huì)有空白字符節(jié)點(diǎn)。樹將類似于:

  DOCTYPE foo

  ENTITY: Jane

  ELEMENT: employee

  ELEMENT: name

  TEXT: Jane

  ELEMENT: title

  TEXT>:Software Design Engineer

  ELEMENT: foo

  ATTRIBUTE: xml:space="preserve"

  ENTITYREF: Jane

  請(qǐng)注意,在 DOCTYPE 內(nèi)部 ENTITY 節(jié)點(diǎn)下顯露的 DOM 樹不包含任何 WHITESPACE 節(jié)點(diǎn)。這意味著 ENTITYREF 節(jié)點(diǎn)的子節(jié)點(diǎn)也沒有 WHITESPACE 節(jié)點(diǎn),即使實(shí)體引用在 xml:space="preserve" 的范圍內(nèi)也是這樣。

  給定文檔中引用的每個(gè) ENTITY 的實(shí)例通常都有相同的樹。

  如果實(shí)體必須絕對(duì)保留空白字符,那么它必須在自己內(nèi)部指定自己的 xml:space 屬性,或者文檔 preserveWhiteSpace 開關(guān)必須設(shè)置為 true。

  如何處理屬性中的空白字符?

  有幾種方式可以訪問屬性值。IXMLDOMAttribute 接口有 nodeValue 屬性,它等價(jià)于作為 Microsoft 擴(kuò)展的 nodeValue 和 text 屬性。這些屬性返回: 屬性 返回的文本

  attrNode.nodeValue

  attrNode.value

  getAttribute("name") 返回和原始文檔中完全相同的內(nèi)容(和擴(kuò)展的實(shí)體)。

  attrNode.nodeTypedValue Null

  attrNode.text 除了前導(dǎo)和尾部的空白字符已經(jīng)截?cái)嘀猓渌c nodeValue 相同。

  “XML 語言”規(guī)范為 XML 應(yīng)用程序定義了下列行為: 屬性類型 返回的文本

  CDATA ID、IDREF、IDREFS、ENTITY、ENTITIES、NOTATION、枚舉

  半規(guī)范化 全規(guī)范化

  在此半規(guī)范化代表將新行和 tab 字符轉(zhuǎn)換為空格,但是多個(gè)空格不會(huì)退化為一個(gè)空格。

首頁 1 2 尾頁
本文糾錯(cuò)】【告訴好友】【打印此文】【返回頂部
將考試網(wǎng)添加到收藏夾 | 每次上網(wǎng)自動(dòng)訪問考試網(wǎng) | 復(fù)制本頁地址,傳給QQ/MSN上的好友 | 申請(qǐng)鏈接 | 意見留言 TOP
關(guān)于本站  網(wǎng)站聲明  廣告服務(wù)  聯(lián)系方式  站內(nèi)導(dǎo)航  考試論壇
Copyright © 2007-2013 中華考試網(wǎng)(Examw.com) All Rights Reserved
封开县| 四会市| 永和县| 鄂伦春自治旗| 玉山县| 新民市| 科技| 县级市| 五河县| 镇坪县| 东明县| 兰溪市| 余庆县| 宜昌市| 行唐县| 三亚市| 大宁县| 开封市| 商洛市| 唐海县| 灵璧县| 利津县| 丹寨县| 山阳县| 连平县| 罗平县| 景宁| 渭南市| 泽库县| 班戈县| 漳浦县| 浑源县| 兰州市| 泰顺县| 屏东县| 丹棱县| 黄山市| 黔江区| 灵台县| 大兴区| 文成县|