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

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

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

    XML教程

    Posted on 2007-11-13 15:38 yukui 閱讀(141) 評論(0)  編輯  收藏 所屬分類: 技術

    處理XML元素

    XML是一種標識語言。一XML元素是由開始標簽、結束標簽以及標簽之間的數據構成的。開始和結束標簽用來描述標簽之間的數據。標簽之間的數據被認為是元素的值。例如,在下面一個XML元素的例子中,元素“director”的值是“Éd Wood”。

    <director>Ed Wood</director>

    元素名(“director”)允許你把“Ed Wood”這個值標出來,這樣你就能把這些數據同另外類似的數據區分開來。例如,有可能另一個元素的值也是“Ed Wood”。

    <actor>Ed Wood</actor>

    由于每個元素都有不同的標簽名,所以你能很容易把上面兩個元素的值區別開來。如果沒有辦法把數據標出來,兩個有同樣值的元素會混淆起來。

    返回

    處理XML文檔

    一個基本的XML文檔就是一個XML元素,它可以嵌套XML元素。例如,下面的XML元素“books”就是一個有效的XML文檔

    <books>
                <book isbn="0345374827">
                <title>The Great Shark Hunt</title>
                <author>Hunter S. Thompson</author>
                </book>
                </books>

    構建一個基本的XML文檔需要記住關鍵的三點:所有元素必須有結束標簽;所有元素必須正確的嵌套(不允許交迭元素);所有特征值必須加引號。

    返回

    處理XML數據島

    什么是XML數據島?

    數據島是指存在于HTML頁面中的XML代碼。數據島允許你在HTML頁面中集成XML對XML編寫腳本,不需要通過腳本或<OBJECT>標簽讀取XML。幾乎所有能夠存在于一個結構完整的XML文檔中的東西都能存在于一個數據島中。包括處理指示、DOCTYPE聲明和內部子集。(注意,編碼串不能放在數據島中。)

    數據島的XML可以是內嵌的:

    <XML ID="XMLID">
                <customer>
                <name>Herbert Hanley</name>
                <custID>81422</custID>
                </customer>
                </XML>

    或者在XML標簽中通過SRC屬性引用:

    <XML ID="XMLID" SRC="customer.xml"></XML>

    處理指導

    簡單處理XML。把XML放到一個XML元素中,并且給這個XML元素一個ID

    返回

    類似于文檔對象訪問一個XML數據島

    什么是XML文檔對象?

    XML文檔對象是指一個擁有屬性和方法的對象,你可以利用這些屬性和方法訪問和處理XML文檔。當一個XML數據島被讀取和解析時,就會創建一個XML文檔對象

    怎樣訪問XML數據島?

    下面是一個帶有數據島的HTML頁面。數據島在<XML>元素中。

    <HTML>
                <HEAD>
                <TITLE>HTML with XML Data Island</TITLE>
                </HEAD>
                <BODY>
                <P>Within this document is an XML data island.</P>
                <XML ID="resortXML">
                <resorts>
                <resort>Calinda Cabo Baja</resort>
                <resort>Na Balam Resort</resort>
                </resorts>
                </XML>
                </BODY>
                </HTML>

    你能通過ID屬性訪問數據島,“resortXML”成為文檔對象的名稱。你能利用這個對象的方法和屬性訪問它的根節點和孩子節點。在上面的例子中,根節點是<resorts>,孩子節點是<resort>。下面列出了一些屬性和方法,可用來訪問XML文檔的節點。

    • XMLDocument:返回對XML文檔對象模式的引用

       

    • documentElement:返回XML文檔的根節點。

       

    • childNodes:返回節點的孩子節點目錄。

       

    • item:通過索引訪問目錄中的個別節點。索引值是從0開始的,所以item(0)返回第一個節點。

       

    • text:返回節點的內容。

       

    下面的代碼訪問第二個孩子節點<resort>并返回它的內容“Na Balam Resort”。

    resortXML.XMLDocument.documentElement.childNodes.item(1).text

    返回

    訪問XML對象模式

    什么是XML對象模式?

    微軟IE5中的XML解析器揭示了XML對象模式,允許你訪問和處理XML文檔中的節點。當解析器讀取并且解析一個XML文檔時,它將建立一棵節點樹,每個節點都能通過腳本來訪問。

    例如,如果解析器讀取并且解析下面的XML文檔,它將創建一個能通過文檔ID(xmlDocument)被引用的文檔對象,一個表現根節點的對象和一個表現樹中其余節點的對象。

    怎樣訪問樹中的節點?

    請試著在下面的數據島中找出訪問每個節點所需要的代碼。

    <XML ID="xmlDocument">
                <class>
                <student studentID="13429">
                <name>Jane Smith</name>
                <GPA>3.8</GPA>
                </student>
                </class>
                </XML>

    返回

    XML文檔中使用數據類型

    什么是XML文檔中的數據類型?

    微軟提供的XML Schema版本支持數據類型。作為一項預先展示的技術,它對于那些想要用schema和豐富的數據類型構造原型和增長經驗的開發者來說是很有用的。微軟積極參與制定逐步形成的W3CXML Schema標準。開發者需要注意這個版本的XML Schema是要變化的。在微軟IE5當中,元素值能被指定數據類型。數據類型能夠通過XML Schema或根據實際情況被指定。以前,XML元素值只有一種類型(字符串),所以開發者要處理XML文檔必須花時間轉換元素值。鍵入你的XML數據,解析器會進行數據類型轉換。另外,由于元素值有特定的數據類型,所以元素值的改變也要符合數據類型。這給你提供了一種確認使用者輸入的方法。

    如何指定XML元素值的類型?

    通過XML Schema指定元素值的類型,你必須在XML Schema的開頭聲明數據類型的名域和schema的名域。

    <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">

    dt前綴用來在schema中表示指定數據類型的類型屬性。

    <ElementType name="NUMBER" content="textOnly" dt:type="number"/>

    通過dt屬性指定元素類型,你必須在XML文檔的開頭聲明數據類型的名域。

    <NUMBERS xmlns:dt="urn:schemas-microsoft-com:datatypes">

    dt前綴用來給一個元素的例子指定數據類型。

    <NUMBERS xmlns:dt="urn:schemas-microsoft-com:datatypes">
                <NUMBER dt:dt="number">44533</NUMBER>
                </NUMBERS>

    返回

    訪問經過類型定義的XML

    什么是經過類型定義的XML值?

    經過類型定義的XML值是指在XML Schema中被指定數據類型的元素值。XML解析器使用schema來確認文檔。

    微軟提供的XML Schema版本支持數據類型。作為一項預先展示的技術,它對于那些想要用schema和豐富的數據類型構造原型和增長經驗的開發者來說是很有用的。微軟積極參與制定逐步形成的W3CXML schema標準。開發者需要注意這個版本的XML Schema是要變化的

    除了擁有字符串值以外,每個XML元素也可以有經過類型定義的值。例如下面的XML元素:

    <date>1970-09-30</date>

    值可以是“1970-09-30”,也可以是經過類型定義的“Web Sep 30 00:00:00 PDT 1970.

    如何訪問經過類型定義的XML值?

    可以通過XML對象模式訪問經過類型定義的數據。就好象你能根據元素節點的節點值性質找到元素值一樣,你能根據元素本身的節點類型值找到經過類型定義的元素值。

    例如,考慮一下下面的XML文檔:

    <?xml version="1.0"?>
                <weather xmlns="x-schema:weatherSchema.xml">
                <date>1970-09-30</date>
                <degrees>67.5</degrees>
                </weather>

    weatherSchema.xml”是下面這個文件:

    <Schema xmlns="urn:schemas-microsoft-com:xml-data"xmlns:dt="urn:schemas-microsoft-com:datatypes">
                <ElementType name="date" content="textOnly" dt:type="date"/>
                <ElementType name="degrees" content="textOnly" dt:type="float"/>
                <ElementType name="weather" content="eltOnly"/>
                <element type="date"/>
                <element type="degrees"/>
                </ElementType>
                </Schema>

    如果你要處理“degrees”這個元素(xmlDocument.documentElement.childNodes.item(1)),你可以根據節點類型值來訪問它的值(xmlDocument.documentElement.childNodes.item(1).nodeTypedValue

    返回

    XML Schema

    什么是XML Schema

    W3C XML Activity Page 聲明:“盡管XML1.0提供了一種機制,文檔類型定義(DTD)給標記的使用加了限制,但是對XML文檔的自動處理需要更嚴格更全面的工具。需要主要體現在對應用軟件各部分的結合、文檔結構、屬性和數據類型等等的約束。W3C XML Schema工作組正忙于定義XML文檔的結構、內容和語義。”

    微軟IE5支持XML Schema,這項預先展示的技術是建立在遞交給W3CXML-Data草案的基礎上的。XML Schema可被認為是XML-Data草案的子集,它符合文檔內容描述(DCD)提議的特點。

    IE5中的XML解析器能夠根據文檔類型定義(DTD)XML Schema解析XML文檔。XML Schema是用來聲明內容模式的基于XML的語法。它有DTD所有的功能,并且還有其他的功能如數據類型定義。

    如何建立XML Schema

    請在下面的XML文檔中找一找每個節點的schema聲明。

    <class xmlns="x-schema:classSchema.xml">
                <student studentID="13429">
                <name>Jane Smith</name>
                <GPA>3.8</GPA>
                </student>
                </class>

    你會注意到在上面文檔中默認的名域是“x-schema:classSchema.xml”。這告訴解析器根據URL(“classSchema.xml”)上的schema(x-schema)來解析整個文檔。

    下面是上面那個文檔的完整的schema。注意schema的根元素中的名域聲明。第一個(xmlns=”urn:schemas-microsoft-com:xml-data”)表明這個XML文檔是一個XML Schema。第二個(xmlns:dt=”urn:schemas-microsoft-com:datatypes”)允許schema處理者在“ElementType”和“AttributeType”聲明中的“type”屬性前加“dt”前綴來說明元素的類型和內容的特征

    <Schema  xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
                <AttributeType name='studentID' dt:type='string' required='yes'/>
                <ElementType name='name' content='textOnly'>
                <ElementType name='GPA' content='textOnly' dt:type='float'/>
                <ElementType name='student' content='mixed'>
                <attribute type='studentID'/>
                <element type='name'/>
                <element type='GPA'/>
                </ElementType>
                <ElementType name='class' content='eltOnly'>
                <element type='student'/>
                </ElementType>
                </Schema>

    schema用“Schema”元素開頭,“Schema”元素包括schema名域的聲明,在本例中還包括數據類型名域的聲明。Schema的內容以“AttributeType”和“ElementType”的聲明開頭

    <AttributeType name='studentID' dt:type='string' required='yes'/>
                <ElementType name='name' content='textOnly'>
                <ElementType name='GPA' content='textOnly' dt:type='float'/>

    這些聲明接下來的是剛聲明過元素的父親元素的“ElementType”聲明。

    <ElementType name='student' content='mixed'>
                <attribute type='studentID'/>
                <element type='name'/>
                <element type='GPA'/>
                </ElementType>

    這個過程繼續下去,直到所有元素都已經聲明了。

    不同于DTDsXML Schema允許有一個開放的內容模式,你可以進行定義數據類型、使用默認值等等操作而不必限定內容

    在下面的schema中,“GPA”元素的類型被定義并有一個默認值,但在“student”元素中沒有其他節點被聲明

    <Schema xmlns="urn:schemas-microsoft-com:xml-data" xmlns:dt="urn:schemas-microsoft-com:datatypes">
                <AttributeType name="scale" default="4.0"/>
                <ElementType name="GPA" content="textOnly" dt:type="float">
                <attribute type="scale"/>
                </ElementType>
                <AttributeType name="studentID"/>
                <ElementType name="student" content="eltOnly" model="open" order="many">
                <attribute type="studentID"/>
                <element type="GPA"/>
                </ElementType>
                </Schema>

    上面的schema允許你只確認你所關心的區域。這使你對文檔有更多的控制,并允許你使用schema提供的一些特性而不必嚴格確認。

    一些說明:

    • ElementType”和“AttributeType”聲明必須放在“attribute”和“element”內容聲明之前。例如,在上面的schema中,“GPA”元素的“ElementType”聲明必須放在“student”元素的“ElementType”聲明之前。

       

    • order”屬性的默認值是建立在“content”屬性的值上的。當content值為“eltOnly”時,order默認值是“seq”。當content值為“mixed”時,order默認值是“many”。

       

    posts - 131, comments - 12, trackbacks - 0, articles - 32

    Copyright © yukui

    主站蜘蛛池模板: **真实毛片免费观看| 亚洲网站在线免费观看| 亚洲中文字幕日产乱码高清app| 免费一级毛片在线播放不收费| 免费无毒a网站在线观看| 亚洲国产高清美女在线观看| 色屁屁在线观看视频免费| 日韩精品极品视频在线观看免费| 成年人免费网站在线观看| 亚洲一区二区三区在线观看精品中文| 亚洲成人在线免费观看| 亚洲人成免费电影| 亚洲AV无码专区国产乱码4SE| 成人嫩草影院免费观看| 日韩版码免费福利视频| 亚洲图片一区二区| 又大又硬又粗又黄的视频免费看| 免费一级国产生活片| 两性色午夜免费视频| 免费一级特黄特色大片在线观看| 成在线人直播免费视频| 久久91亚洲人成电影网站| 免费高清A级毛片在线播放| 久久久久亚洲爆乳少妇无| 韩国亚洲伊人久久综合影院| 91在线视频免费播放| 亚洲av无码电影网| 120秒男女动态视频免费| 亚洲日韩精品国产3区| 在线精品免费视频| 日韩亚洲产在线观看| 91免费国产在线观看| 亚洲国产品综合人成综合网站| 午夜老司机永久免费看片| 亚洲综合色婷婷七月丁香| 一区二区三区在线免费看| 色婷婷亚洲一区二区三区| 亚洲av中文无码乱人伦在线咪咕| 69式国产真人免费视频| 国产精品高清免费网站| MM131亚洲国产美女久久|