<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    JAVADREAM

    hackiller
    數據加載中……
    J2EE復習(二)XML(上)

    XML(eXtensible Markup Language)簡介
    XML 可擴展標記語言
    XML是一種您可以用來創建自己的標記的標記語言。
    XML由萬維網協會(W3C)創建

    XML和Html比較
     比較內容    HTML  XML
     可擴展性  不具有擴展性  是元標記言,可用于定義新的標記語言
     側重點  側重于如何表現信息  側重于如何結構化地描述信息
     語法要求 不要求標記的嵌套、配對等,不要求標記之間具有一定的順序  嚴格要求嵌套、配對,并遵循DTD的樹形結構
     可讀性及可維護性  難于閱讀、維護

     結構清晰,便于閱讀、維

     數據和顯示的關系  內容描述與顯示方式整合為一體 內容描述與顯示方式相分離
     編輯及瀏覽工  已有大量的編輯、瀏覽工具  編輯、瀏覽工具

     

     

     

     

     

     

     

     

     

     

     


    XML優勢
    數據重用
    數據和表示分離
    可擴展性
    語意信息

    XML 聲明

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

    XML聲明一般是XML文檔的第一行
    XML聲明由以下幾個部分組成:
    version - -文檔符合XML1.0規范
    encoding - -文檔字符編碼,默認為"UTF-8"

    遵循如下規則的XML文檔稱為結構完整:
    語法規范
    1.必須有XML聲明語句
    2.<?xml version="1.0" encoding=“GBK"?>
    3.必須有且僅有一個根元素
    4.標記大小寫敏感
    5.屬性值用引號
    6.標記成對
    7.空標記關閉
    8.元素正確嵌套
    元素語法
    1.名稱中可以包含字母、數字或者其它字符
    2.名稱不能以數字和"_"(下劃線)開頭
    3.不能以XML/xml/Xml/…開頭
    4.名稱中不能含空格
    5.名稱中不能含冒號(注:冒號留給命名空間使用)

    文本內容PCDATA
    XML支持Unicde字符集,因此可以在文本中包含字母/數字/標點/符號等。
    注意:因為XML使用<,>,和&界定標記,如果在文本中包含有這些字符,必須使用實體替代。

    CDATA
    1.在特殊的標記CDATA下,所有的標記、實體引用都被忽略,而被XML處理程序一視同仁地當作字符數據看
    待。CDATA的形式:〈![CDATA[文本內容]]〉
    2.用于把整段文本解釋為純字符數據而不是標記的情況。包含大量<、>、&或者"字符。CDATA節中的所有
    字符都會被當作元素字符數據的常量部分,而不是XML標記。
    3.可以輸入任意字符(除]]>外)
    4.不能嵌套使用CDATA

    CDATA與PCDATA
    PCDATA是被解析器解析的文本。文本內的標簽會被當作標記,實體會被展開。
    CDATA是不被解析器解析的文本。文本內的標簽不會被當作標記,實體不會被展開。

    XML注釋
    注釋內容中不要出現--;
    不要把注釋放在標記中間;
    <Name <!--the name-->>TOM</Name>
    注釋不能嵌套;
    可以在除標記以外的任何地方放注釋。

    XML屬性
    1.屬性值用雙引號(")或單引號(')分隔(如果屬性值中有',用"分隔;有",用'分隔)
    2.一個元素可以有多個屬性,它的基本格式為:<元素名 屬性名="屬性值">
    3.特定的屬性名稱在同一個元素標記中只能出現一次
    4.屬性值不能包括<, >, &

     XML文檔中的屬性有兩個規則
    1.屬性必須有值
    2.那些值必須用引號括起。您可以使用單引號,也可以使用雙引號,但要始終保持一致。

     命名空間---namespace
    為XML中的元素設定一個唯一的標識名稱
    與URI結合來定義一個唯一標識
    去除了XML文件中可能存在的元素名重疊的問題

     DOCTYPE
    文檔類型聲明,緊跟XML聲明之后,包含所有實體聲明
    語法:
    <?xml version="1.0"?>
    <!DOCTYPE  根元素標記名 [
        <!--實體聲明-->
    ]>

     實體引用
    為了避免把字符數據和標記中需要用到的一些特殊符號相混淆,XML還提供了一些有用的實體引用。
    作用:避免重復輸入
    自定義實體語法:
    <!DOCTYPE Book(根元素)[    
    <!ENTITY chapter1(實體名) "玄幻小說"(實體內容)>
    <!ENTITY chapter2 "電影記錄">
    ]>
    引用已定義的實體:&實體名;

    DTD
    內部的 DOCTYPE 聲明:
    假如 DTD 被包含在您的 XML 源文件中,它應當通過下面的語法包裝在一個 DOCTYPE 聲明中:
    <!DOCTYPE 根元素 [元素聲明]>帶有 DTD 的 XML 文檔實例(請在 IE5 以及更高的版本打開,并選擇查看源代碼):

     1<?xml version="1.0"?>
     2<!DOCTYPE note [
     3  <!ELEMENT note (to,from,heading,body)>

     4  <!ELEMENT to      (#PCDATA)>
     5  <!ELEMENT from    (#PCDATA)>
     6  <!ELEMENT heading (#PCDATA)>
     7  <!ELEMENT body    (#PCDATA)>
     8]>
     9<note>

    10  <to>George</to>
    11  <from>John</from>
    12  <heading>Reminder</heading>
    13  <body>Don't forget the meeting!</body>
    14</note>

    以上 DTD 解釋如下:
    !DOCTYPE note (第二行)定義此文檔是 note 類型的文檔。
    !ELEMENT note (第三行)定義 note 元素有四個元素:"to、from、heading,、body"
    !ELEMENT to (第四行)定義 to 元素為 "#PCDATA" 類型
    !ELEMENT from (第五行)定義 frome 元素為 "#PCDATA" 類型
    !ELEMENT heading (第六行)定義 heading 元素為 "#PCDATA" 類型
    !ELEMENT body (第七行)定義 body 元素為 "#PCDATA" 類型

    外部文檔聲明:
    假如 DTD 位于 XML 源文件的外部,那么它應通過下面的語法被封裝在一個 DOCTYPE 定義中:
    <!DOCTYPE 根元素 SYSTEM "文件名">這個 XML 文檔和上面的 XML 文檔相同,但是擁有一個外部的 DTD: (在 IE5 中打開,并選擇“查看源代碼”命令。)

    1<?xml version="1.0"?>
    2<!DOCTYPE note SYSTEM "note.dtd">
    3<note>
    4<to>George</to>
    5<from>John</from>
    6<heading>Reminder</heading>
    7<body>Don't forget the meeting!</body>
    8</note> 

    聲明一個元素:
    在 DTD 中,XML 元素通過元素聲明來進行聲明。元素聲明使用下面的語法:

    <!ELEMENT 元素名稱 類別>

     或者

    <!ELEMENT 元素名稱 (元素內容)>空元素

     空元素通過類別關鍵詞EMPTY進行聲明:

    <!ELEMENT 元素名稱 EMPTY>

    只有 PCDATA 的元素:
    只有 PCDATA 的元素通過圓括號中的 #PCDATA 進行聲明:

    <!ELEMENT 元素名稱 (#PCDATA)>

    帶有任何內容的元素:
    通過類別關鍵詞 ANY 聲明的元素,可包含任何可解析數據的組合:

    <!ELEMENT 元素名稱 ANY>

    帶有子元素(序列)的元素:
    帶有一個或多個子元素的元素通過圓括號中的子元素名進行聲明:

    <!ELEMENT 元素名稱 (子元素名稱 1)>

          或者

     <!ELEMENT 元素名稱 (子元素名稱 1,子元素名稱 2,..)>

    當子元素按照由逗號分隔開的序列進行聲明時,這些子元素必須按照相同的順序出現在文檔中。在一個完整的聲明中,子元素也必須被聲明,同時子元素也可擁有子元素。
    聲明只出現一次的元素:

    <!ELEMENT 元素名稱 (子元素名稱)>

    聲明最少出現一次的元素:

    <!ELEMENT 元素名稱 (子元素名稱+)>

    聲明出現零次或多次的元素:

    <!ELEMENT 元素名稱 (子元素名稱*)>

    聲明出現零次或一次的元素:

    <!ELEMENT 元素名稱 (子元素名稱?)>

     聲明“非.../既...”類型的內容:

    <!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"。

     XML Schema 簡介
    XML Schema 是基于 XML 的 DTD 替代者。
    XML Schema 可描述 XML 文檔的結構。
    XML Schema 語言也可作為 XSD(XML Schema Definition)來引用。
    XML Schema 是 DTD 的繼任者

    XML Schema 相對于 DTD 的優點如下:
    XML Schema 可針對未來的需求進行擴展
    XML Schema 更完善,功能更強大
    XML Schema 基于 XML 編寫
    XML Schema 支持數據類型
    XML Schema 支持命名空間

     下面這個例子是一個名為 "note.xsd" 的 XML Schema 文件,它定義了下面那個 XML 文檔的元素:

     1<?xml version="1.0"?>
     2<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
     3targetNamespace="http://www.w3school.com.cn"
     4xmlns="http://www.w3school.com.cn"
     5elementFormDefault="qualified">
     6<xs:element name="note">
     7    <xs:complexType>
     8      <xs:sequence>
     9 <xs:element name="to" type="xs:string"/>
    10 <xs:element name="from" type="xs:string"/>
    11 <xs:element name="heading" type="xs:string"/>
    12 <xs:element name="body" type="xs:string"/>
    13      </xs:sequence>
    14    </xs:complexType>
    15</xs:element>
    16
    17</xs:schema>

    對 XML Schema 的引用
    此文件包含對 XML Schema 的引用:

     1<?xml version="1.0"?>
     2<note
     3xmlns="http://www.w3school.com.cn"

     4xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
     5xsi:schemaLocation="http://www.w3school.com.cn note.xsd">
     6
     7<to>George</to>

     8<from>John</from>
     9<heading>Reminder</heading>
    10<body>Don't forget the meeting!</body>
    11</note> 

    相關資料鏈接
    J2EE復習(一)HTML
    J2EE復習(二)XML(上)
    J2EE復習(二)XML(下)--XML解析
    J2EE復習(三)JavaScript

    posted on 2009-04-09 09:33 hackiller 閱讀(1318) 評論(0)  編輯  收藏 所屬分類: J2EE第一次復習

    主站蜘蛛池模板: 亚洲欧洲免费视频| 久久久久亚洲av毛片大| 亚洲高清无在码在线电影不卡| 一区二区免费在线观看| 亚洲第一黄色网址| 污污污视频在线免费观看| 亚洲av中文无码| 中文字幕久无码免费久久| 国精无码欧精品亚洲一区| 免费人成在线观看视频高潮| 国产成人精品日本亚洲网站| 久久久久久AV无码免费网站| 久久久久久久久亚洲| 亚洲成人在线免费观看| 亚洲综合av一区二区三区不卡 | 久久精品免费观看| 久久丫精品国产亚洲av| 免费观看激色视频网站bd| 亚洲精品自偷自拍无码| 国产精品久久免费视频| 9久热这里只有精品免费| 久久亚洲精品无码| 91九色精品国产免费| 三级网站免费观看| 亚洲人成人77777网站| 最近中文字幕大全免费视频| 亚洲国产精品免费观看 | 天天摸天天碰成人免费视频| 污视频网站在线免费看| 亚洲人成网77777亚洲色| 91麻豆最新在线人成免费观看| 欧洲亚洲综合一区二区三区| 亚洲色精品vr一区二区三区| 国产一卡二卡四卡免费| 美女裸免费观看网站| 亚洲av日韩综合一区在线观看| 啦啦啦高清视频在线观看免费| 亚欧乱色国产精品免费视频| 亚洲日韩乱码久久久久久| 免费夜色污私人影院在线观看| 99视频精品全部免费观看|