網站開發

          asp.net
          隨筆 - 30, 文章 - 0, 評論 - 9, 引用 - 0
          數據加載中……

          怎樣向xml文檔插入HTML標記

          CDATA 區段
                 因為網頁中要顯示HTML的源代碼。而在XML中,要實現這樣的功能,就必須使用CDATA標記。在CDATA標記中的信息被解析器原封不動地傳給應用程序,并且不解析該段信息中的任何控制標記。CDATA區域是由:![CDATA[”為開始標記,以“]]為結束標記。例如:例2中的源碼,除了![CDATA[”“]]符號,其余的內容解析器將原封不動地交給下游的應用程序,即使CDATA區域中的開始和結尾的空白以及換行字符等,都同樣會被轉交(注意CDATA是大寫的字符)。 

              如同你在第三章中學到的,你不能直接將(<)或(&)符號放置在元素內容中的字符數據里。要避開這個限制的一種方法是使用字符參照(& #60;或& #38;)或預先定義的普通實體參照(& lt;或& amp;),如同你在第六章中將學到的。然而,如果你需要加入多個(<)或(&)字符,使用這些參照將變得不合適且會讓資料變得難以閱讀。在這種情況下,將包含限制字符的文字放置在CDATA 區段中將會比較容易完成工作。
              CDATA 區段的類型
              CDATA 區段以字符「<![CDATA[」開始,并以「]]>」字符結束。在這兩個定義符號之間,你可以輸入任何字符(包括「<」或「&」),除了「]]>」之外。(因為,該字符會被解釋成CDATA區段的結束。)所有位在CDATA 區段中的字符都被視為元素字符數據的字義 (literal) 部分,而不是XML 標簽。
              下面是一個合法CDATA 區段的范例:
          <![CDATA [
          Here you can type any characters except two right brackets followed
          by a greater-than symbol.
          ]]>
          注意
              關鍵詞CDATA,就像其它你所見到的XML 關鍵詞,必須以大寫字母撰寫。
              如果你想包含一段原始碼或標簽當作被顯示在瀏覽器中元素的真實字符數據的一部份,你可以使用CDATA 區段來防止XML 解析器將「<」或「&」字符解釋成XML 卷標。下面就是一個范例:
          <A-SECTION>
          The following is an example of a very simple HTML page:
          <![CDATA[
          <HTML>
          <HEAD>
          <T99vLE>R.Jones &Sons</T99vLE>
          </HEAD>
          <BODY>
          <P>Welcome to our home page!</P>
          </BODY>
          </HTML>
          ]]>
          </A-SECTION>
              例如,若沒有CDATA 區段,處理器會假設<HTML>是套迭的元素的起始部分,而不是A-SECTION 元素的字符數據的起始部分。
          注意
              既然你可以直接將「<」與「&」字符加入CDATA 區段中,你就不必使用字符參照(& #60;與&)或預先定義的普通實體參照(& lt;與& amp;),筆者將在第六章中解釋字符參照與實體參照。事實上,如果你使用這類的參照,解析器會將參照中的每個字符照字面解釋,且不會更換掉含有「<」或「&」字符的參照。
              你可以放置CDATA 區段的地方
              你可以將CDATA 區段放置在字符數據可以出現的任何地方-也就是說,在元素的內容中卻不在XML 標簽中。下面是一個合法放置CDATA 區段的范例
          <?xml version="1.0"?>
          <MUSICAL>
          <T99vLE_PAGE>

           

          <![CDATA[
          <Oklahoma!>
          By
          Rogers &Hammerstein
          ]]>
          </T99vLE_PAGE>
          <!--Other elements here...-->
          </MUSICAL>
              顯示于下頁的錯誤型式XML 文件包含了兩個違法的CDATA 區段。第一個不是在元素的內容中。第二個則是位在文件元素的內容之中,但卻不是在起始標簽中。
          <?xml version="1.0"?>
          <![CDATA[ ILLEGAL::not within element content!]]>
          <DOC_ELEMENT>
          <SUB_ELEMENT <![CDATA[ ILLEGAL::inside of markup!]]>>
          sub-element content...
          </SUB_ELEMENT>
          </DOC_ELEMENT>
          注意
              CDATA 區段不能成巢狀套迭。亦即,你不能將一個CDATA 區段放到另一個區段中。

          posted on 2007-04-29 17:42 風雨兼程 閱讀(1851) 評論(0)  編輯  收藏 所屬分類: xml


          只有注冊用戶登錄后才能發表評論。


          網站導航:
           
          主站蜘蛛池模板: 济宁市| 太保市| 尤溪县| 大英县| 商丘市| 吉木萨尔县| 大名县| 资兴市| 彰化市| 垣曲县| 中牟县| 湖南省| 南召县| 监利县| 虞城县| 汪清县| 镇沅| 镇原县| 彝良县| 濮阳市| 安溪县| 蛟河市| 金昌市| 婺源县| 廊坊市| 得荣县| 德清县| 布尔津县| 梧州市| 基隆市| 抚远县| 海南省| 甘孜| 宁夏| 梁山县| 松溪县| 唐河县| 烟台市| 永修县| 颍上县| 通州市|