<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      XML

       

      XML語法

       

       

      基本規則

      (1).XML是區分大小寫的;

      (2).所有元素的起始和結束標注必須成對出現,且要正確嵌套;

      (3).如果使XML說明,則它必須是XML文檔的第一行:<?xml version=”1.0”?>,一般還要在里面指定編碼集,否則默認使用ISO-8859-1編碼,該編碼是不支持中文的。(文件保存的編碼集必須和文件查看的編碼集一致,否則會出現亂碼)

      (4).元素屬性必須用引號引起來,單、雙引號都可以,但必須成對出現。如:

      <basic attr=”1.0”>

      <basic attr=’1.0’>

      (5).XML命名規則:

      .XML名以下劃線或字母開始;

      .XML名可包含字母、數字、句點、下劃線和冒號;

      .XML名不能包含空格;

      .XML名不能以數字開始,但可包含數字;

      .XML名區分大小寫。

      (6).保留標記字符,如果要在XML中顯示<&之類的標記,就要使用字符的實體形式,XML中有五種預先定義了的實體:

      &lt:   表示<字符

      &gt:   表示>字符

      &amp:  表示&字符

      &apos: 表示字符

      &quot: 表示字符

      我們也可用ENTITY自定義實體:

      <!ENTITY linux “linux is a very good system”>

      這樣我們可用&linux來調用。

       (7).XML文檔內容中的空格是有意義的,在轉換后會保留。(所以要避免全角符號的出現特別是全角空格,該錯誤很難排查)

       (8).元素以<開始并以/>結束,如<br/>

       

      元素(ELEMENT)

      元素其實就是標記,或者也可以將元素視為標記名稱,并沒有很明確的定義,而只是一個形容詞而已。元素可以說XML文件里最重要的構成單元。有三種元素使用方法:⑴簡單內容,文本或其它數據出現在開始和結束標記之間。開始標記與結束標記有相同名字,但結束標記明要以一個斜杠開始。下面的元素包括一個開始標記、內容和一個結束標記

      <author>Stephen Hawking</author>.

      ⑵把元素用作其它元素的容器,元素包含其他元素,呈現出一種分層或樹形數據結構。以下的book元素包含了authortitle元素

      <book>

      <author>Stephen Hawking</author>

      <title>A brief history of time</title>

          </book>

      ⑶空元素用作屬性容器,當元素只包含屬性而無內容時,有一種不需使用開始和結束標記的元素簡寫方式。空元素的書寫可用標記名后跟著一個斜杠來表示

      <book/>

      他表示了:<book></book>空元素常用來包含屬性數據。<book title=”A brief history of time” author=”Stephen Hawking”/>

      元素命名規則⑴名字可以包含字母、數字和其他字符。⑵名字不能以數字或標點開始。⑶名字不能用字符串“XML”開始,不管是小寫形式還是大寫形式。⑷名字不能包含空格,不能使用冒號。

       

      屬性

      屬性提供了有關元素的附加信息。再HTML中,當加載HTML文檔時,屬性用來規定圖像文件的名字:<img src=”inde01.gif”>屬性常用來表明信息,它不是元素中被描述數據的一部分。屬性也常用來描述有關數據本身的信息。以下的XML中屬性use告訴程序處理此文件不需要的數據

      <file use=”optional”>index01.gif</file>

      XML中,屬性值必須用單引號或雙引號包圍。

      一般共識:如果信息看起來像數據就使用元素;而在描述有關數據的信息時就使用屬性。不使用屬性來存儲數據的原因包括:⑴屬性不能包含多個值,而元素能包含多個子元素。⑵屬性不容易擴展以適應將來的變化。⑶與元素相比,用程序更難以操作屬性。⑷不容易檢查屬性值是否違反文檔類型定義(DTD)。

       

      實體

      實體用來替代XML文檔中的字符串.例如:短語”XML and the Data Revolution”當文檔中重復出現,就可在DTD中定義一個快捷實體聲明。

      <!ENTITY xdr”XML and the Data Revolution”>

      這樣,當要是用整個短語時,就可使用&xdr;而他在XML文檔中會被替換。使用實體就可以避免拼寫錯誤以及反復輸入同一件事的繁瑣。同時還有預定義實體和參數實體之分

       

       

       

      XML文檔的組成

       

      一個完整地XML應該具備以下規則:

      1.文檔的開始必須是XML聲明。 
      2.
      含有數據的元素必須有起始標記和結束標記。 
      3.
      不含數據并且僅使用一個標記的元素必須以/>結束。 
      4.
      文檔只能包含一個能夠包含全部其他元素的元素。 
      5.
      元素只能嵌套不能重疊。 
      6.
      屬性值必須加引號。 
      7.
      字符<&只能用于起始標記和實體引用。 
      8.
      出現的實體引用只有&<>&apos;"

       

      XML聲明:

       

      1.version,定義XML規范的版本號,到現在為止,只有一個版本號1.0

      <?xml version="1.0" standalone="yes"?>

      他的出現是文檔最開頭的部分,因為XML處理器會讀取文件最先的幾個字節并將它與字符串<?XML的不同編碼作比較來確定正在使用的字符串集。除去看不見的字節順序記號,在它之前不能有任何東西,包括空格。①在非空標記中使用起始和結束標記:如果忘了結束HTML的標記,Web瀏覽器并不嚴格追究。例如,如果文檔包含一個<B>標記卻沒有相應的</B>標記,在<B>標記之后的全部文檔將變為粗體。但文檔仍然能顯示。XML不會如此寬松,每個起始標記必須以相應的結束標記結束。如果一個文檔未能結束一個標記,瀏覽器或移交器將報告一個錯誤信息,并且不會以任何形式顯示任何文檔的內容。②用"/>"結束空標記:不包含數據的標記,例如HTML<BR><HR><IMG>,不需要結束標記。但是XML空標記必須由/>結束,而不是>。例如<BR><HR><IMG>XML等價物是<BR/><HR/><IMG/>
        當前的Web瀏覽器處理這種標記的方法不一致。但是如果想保持向后的兼容性,可以使用結束標記來代替,而且不能在其間包含任何文本。例如:

      <BR></BR> <HR></HR> <IMG></IMG>即使這樣,Netscape處理<BR></BR>也有困難(它把這兩個標記解釋為行間距,而不是前面所講的)。因此,在HTML中包含結構完整的空標記也并非總是可行的。

       

      2.encoding,指定文檔的編碼系統。

       

      3.standalone,定義文檔是獨立的還是需要裝入其他元素才能正確分析。如果XML文檔沒有外部實體或DTD,則可以設置為no,否則設置為yes。可用該值提高性能:如果為no,則可提高處理速度;如果設置為yes,則首先要分析文檔,確定需要其他哪些文件,然后才能完全分析文檔。

       

      4.根元素,每篇XML文檔都需要有且只能有一個根元素。由元素是文檔的第一個元素,包含其它所有元素。下例的portal就是根元素,如:

         <portal>

           <name>jims</name>

           <email></email>

           …

         </portal>

      屬性,每個元素都可以設置一個或多個屬性,如:

         <portal>

      <name id=’1’,sex=”male”>Jims</name>

      </portal>

      元素和屬性都可以表示信息,屬性信息表現能力有限,它只能表示字符串。所以當需靈活表示信息時應該使用元素。一般把信息主體放到元素中,屬性只放一些注釋或額外的信息。

       

      CDATA  CDATA的格式:

      〈![CDATA[
      文本內容
      ]]〉

      它用<![CDATA[]]>表示,它們之間的數據作為原始字符顯示,唯一不能出現的標志是]]>

       

      注釋,注釋是很重要,不論是在編寫程序和文檔時,所以XML也提供了注釋功能,以<!--開頭,以-->結尾的一對區間為注釋。在以-->結束之前,不能出現“--”號,“---”更不允許。

       

      處理指令,處理指令以<?開頭以?>結尾。處理指令是標記而不是元素。與注釋一樣,處理指令可出現在XML文檔的標簽外的任何位置,包括根元素之前或之后。最常見的處理指令是,xml-stylesheet樣式表指令,它會告訴瀏覽器在顯示文檔時應用什么樣式表。如:

      <?xml-stylesheet href=”sample.css” type=”text/css”?>

      <portal>

           <name>…</name>

               …

         </portal>

       

      命名空間

       

      命名沖突問題是XML文檔中引入多DTD的老大難問題,那么,命名空間標準又是如何解決這一問題的呢?一個直接的想法是保證所引用到的DTD沒有重名的元素。可是,你所引用的DTD可能來自世界上各個地方,由不同的人制定,要求這成千上萬的DTD沒有重名現象似乎有些異想天開,且想想你身邊重名的人還有多少呢!再有一個想法就是要求所引用到的DTD改名字,把“聯系人列表”中的元素“姓名”改為“聯系人姓名”,“電話”改為“聯系人電話”;相應地,“企業經理”中的“姓名”改為“經理姓名”,“電話”改為“經理電話”。但是,如果出現了大量重名元素,這個修改的工作量就很大了,如此麻煩,多DTD的優勢消失殆盡,還不如自己重新定義一個呢。命名空間標準提供了一個很聰明的方法,就是所謂前綴標識法,即在元素名和屬性名前面增加一個標識,以唯一區分當前元素或屬性來自哪一個DTD

       

      命名空間聲明有兩種方式:直接定義方式和缺省定義方式:

      直接定義

      xmlns:<命名空間前綴> = <命名空間名>

      缺省定義

      xmlns = <命名空間名>

      直接定義方式

      命名空間聲明的屬性名部分由兩部分組成,即保留屬性名前綴"xmlns:"和命名空間前綴,且命名空間前綴是一個合法的XML名稱。例如,"xmlns: 聯系人""xmlns: 企業經理"都是合法的命名空間聲明的屬性名。

      命名空間聲明的屬性值部分是一個URI引用,其功能是區分不同的命名空間,因此,這個URI引用被稱為“命名空間名”,它應該具有唯一性和持久性。

      缺省定義方式

      在缺省方式下,命名空間聲明的屬性名部分僅有保留屬性名xmlns,屬性值部分與直接定義方式相同。例如:

      <聯系人:聯系人列表 xmlns ="http://xml.net.cn/聯系人列表.dtd" xmlns:企業經理 ="http://xml.net.cn/企業經理.dtd">

       

       

       

       

       

      DTD的基本要素

       

      DTD的全稱是“Document Type Definition“(文件類型定義)。他是用來規范XML文件的格式,它必須出現在文件頭(Prolog)中,以便XML校驗器在一開始便可以得到該份XML文件的格式定義。

      XML分為兩類:有效XML文檔和簡化格式XML文檔。有效是指有一個DTD參考文件的XML文檔 ,一個有效的XML文檔必須是簡化格式的XML文檔,跟隨著這個文檔的DTD文件的有效性,促進了XML執行程序的運行以及文檔在兼容XML瀏覽器的顯示。

      要使用DTD進行有效性檢驗,就要使用文檔類型定義聲明指定DTD。例如:<?xml version="1.0" standalone="no"?>

      <!DOCTYPE portal SYSTEM "http://www.w3c.com/dtd/portal.dtd">

      <portal>

        <name>Jims</name>

        <email>Jims@163.com</email>

        <email>Jims@21cn.com</email>

      </portal> 

      文檔類型聲明位于XML聲明之后,根元素之前。如果DTD文檔位于本機,可用路徑名直接指出DTD文檔的位置。如果DTD位于XML文檔外,則叫外部DTD子集。我們可以結合內外DTD,共同組成一個DTD來為XML文檔作驗證。

      具體地說,DTD是一個或是一些用XML書寫的文件。它包含了對一種文件的正式定義。它定義了文件中的元素能用什么名字,能放在什么位置,應該怎樣組合。在這里舉一個簡單的例子。比如說想要文件可以描述一組<List>,其中每個<List>由可以包含若干個<Item>。那么DTD中應該有以下語句:     

      <!ELEMENT List (Item)+>

      <!ELEMENT Item (#PCDATA)>
        這樣一個框架定義了一個表(list),它可以包含若干個項(items)。每一個項只能包括文本的內容。當處理器處理XML文件時將自動檢查DTD,以此確定文件中元素從哪而來,以及它們之間是什么關系。上面的框架允許生成下面的一個表:
      <List><Item>Chocolate</Item><Item>Music</Item><Item>Surfing</Item></List>
        而這樣一個表在屏幕上是怎樣一個表象,取決于樣式表(Stylesheet)。在HTML中要在文件中指定應是怎樣的形式。使用DTD表明你能夠確定一類文章的結構和格式。

      文檔類型聲明中的每一項都是元素聲明,定義了每個元素的約束。元素聲明的格式為:

      <!ELEMENT element_name (content_model)>

      內容包括:1. #PCDATA,規定元素只包含已析的字符數據。

      2. 子元素,可指明元素的子元素。也可用逗號為分隔符,指明多個子元素。并且子元素出現的次序必須按定義時的順序。

      3. 子元素的個數,我們可通過正則表達式來規定子元素的個數。①?,允許零個或一個該元素 *,允許零個或多個該元素 +,允許一個或多個該元素

      4. 可選項(|),選項是一個參數列表,每個參數間用“|”分隔,代表能且只能選一個子元素。

      5. 小括號,可用小括號把選項括起來,以表達更豐富的意思,如我們想表示choice元素必須包含一個good子元素,并且必須包含ok子元素或bad子元素的一個。

      6. 混合內容,在一些文檔中,一個元素可能既包含子元素,也包含字符串,這些內容叫混合內容。

      7. 空元素,某些元素不用包含任何內容,稱之為空元素。寫成以/>結束的獨立標簽。

      8. ANY,允許元素內包含任意內容。該選項在dtd測試時很有用,在生產系統中盡量不要使用。

      一個有效的XML文檔,必須對元素的屬性進行聲明。使用ATTLIST聲明來完成,一個ATTLIST可以為一個元素類型聲明多個屬性。

      有效文檔中使用的每個元素都必須在文檔的DTD中用元素聲明進行聲明。element_name可是任何合法的XML名稱,content_model(內容模型)指定元素可以或必須包含的子元素以及子元素的順序。

       

      posted @ 2017-03-18 16:58  liangww  閱讀(524)  評論(0)    收藏  舉報
      主站蜘蛛池模板: 国产一区二区三区在线观看免费| 亚洲国产一区二区三区亚瑟| 天堂va蜜桃一区二区三区| 秋霞AV鲁丝片一区二区| 国产精品系列在线免费看| 被黑人伦流澡到高潮HNP动漫| 欧美肥老太牲交大战| 亚洲自在精品网久久一区| 欧乱色国产精品兔费视频| 亚洲欧美人成网站在线观看看| 国产中文字幕一区二区| 亚洲av成人在线一区| 人妻无码中文字幕免费视频蜜桃| 亚洲午夜理论无码电影| 欧洲亚洲成av人片天堂网| 97精品伊人久久久大香线蕉| 亚洲国产午夜精品理论片| 色久综合色久综合色久综合| 国产精品一区二区三区激情| 妖精视频亚州无吗高清版| 真人作爱免费视频| 国产精品夫妇激情啪发布| 国产女人喷潮视频免费 | 欧美色丁香| 一区二区在线观看成人午夜| 好紧好滑好湿好爽免费视频| 色猫咪av在线网址| 国产精品成人av在线观看春天| 精品亚洲精品日韩精品| 夜色福利站WWW国产在线视频 | 欧美成人精品高清在线播放| 久久精品国产中文字幕| 狠狠久久五月综合色和啪| 影音先锋2020色资源网| 南丰县| 少妇高潮潮喷到猛进猛出小说| 日本久久99成人网站| 精品国产迷系列在线观看| 国产va免费精品观看精品| 黑人异族巨大巨大巨粗| 一区二区在线观看成人午夜|