XML as Data Source by 黃振修 XML Lab. 將公司標幟插入此投影片 選取〔插入〕功能表 中的〔圖片〕選項 選取〔從檔案〕指令 選取該圖片檔案 按下〔確定〕按鈕 調整商標的大小 於商標圖示內按一下﹐此時商標圖示外的白色小方塊即為可調整大小的圖框。 利用該圖框來調整物件大小 如果你在調整邊框之前﹐先按住Shift 鍵,便可維持該物件的比例。 XML as Data Source by 黃振修 XML Lab.
XML的資料型態 XML允許作者指定元素資料為一個物件,並且可以被解譯為不同型態 DTD的定義方式表達了元素的語意,但卻沒有描述元素的資料型態 年齡表示一個人有多老,卻沒有描述年齡是一個正整數 XML中被解析的字元資料其實都是字串資料型態
嚴格與鬆散 嚴格型態(strong type) 鬆散型態(weak type) 必須包含單一資料型態 元素內容必須符合其型態嚴謹的規則 允許多種資料存在單一元素中 可能包含整數、字串、日期等的組合
命名衝突 在多重文件的環境下使用XML時,兩個(或更多)文件可能包含同樣名字的元素但是不同語意 <book> <name>哈利‧波特歷險記</name> </book> <author> <name>J‧K‧羅琳</name> </author>
XML命名空間(#1) 提供一個建立名稱的方法,無論元素在哪裡被使用,都可以保持獨一無二的名字而不衝突 使用獨一無二的外部資源來確認元素名稱,以建立獨一無二的元素名稱 XML中的命名空間是一個名字的集合,,並且是透過URI來確認的
XML命名空間(#2) 一個有效的命名空間由兩個部分組成: 為了要在XML文件中使用命名空間,必須在文件的前言中包含命名空間宣告 命名空間的名稱 本地端的部分 為了要在XML文件中使用命名空間,必須在文件的前言中包含命名空間宣告 利用冒號將字首和本地端的部分連結起來成為命名空間
XML命名空間(#3) <?xml version=“1.0”?> <?xml:namespace ns=“http://xxx.com/ns” prefix=“xxx”?> <?xml:namespace ns=“http://yyy.com/ns” prefix=“yyy”?> <product> <xxx:name>x-Product</xxx:name> <yyy:name>y-Product</yyy:name> </product>
指定資料型態 可以使用 dt:dt 來指定資料型態 <?xml version=“1.0”?> <student xmlns=“urn:schemas-microsoft-com:datatypes”> <department> <id dt:dt=“number”>B87506017</id> <name>ChenHsiu</name> </department> </student>
What is DSO ?(#1) Data Source Objects(DSO) are objects that can imbed structure data, including XML, into HTML pages. A DSO is an object that operates like a database on the client side. It will accept information that is organized in a certain way and manipulate with its own database engine. It has an interface with its own properties and methods, and you can manipulate the data stored in the object using these methods.
What is DSO ?(#2) Once an instance of the DSO is created, there is in effect a miniature data engine embedded in the HTML page. Note that there are different kinds of DSO for different kinds of formats: Tabular Data Control (TDC) is used for structured text files. Remote Data Services (RDS) is used for recordsets from SQL databases. XML Data Source is used for data that is structured as XML files.
XML DSOs There are two XML DSOs: XML Java DSO Work both is IE4 and IE5 and is loaded by using an applet element. XML C++ DSO Available only for IE5. It’s an ActiveX object written in C++ The C++ DSO also validate an XML file against an internal DTD.
XML Java DSO The XML Java DSO is a Java applet. It must be embedded into an HTML page using an applet element: <applet code=“com.ms.xml.dso.XMLDSO.class” id=“xmldso” width=“0” height=“0” mayscript=“true”> <param name=“URL” value=“thefile.xml”> </applet>
XML C++ DSO(#1) The XML C++ DSO is created by using the OBJECT element: <object width=“0” height=“0” classid=“clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39” id=“xmldso”> </object>
XML C++ DSO(#2) Loading an External File: <script for=“window” event=“onload”> var doc=xmldso.XMLDocument; doc.validateOnParse = false; doc.resolveExternals = false; doc.load(“thefile.xml”); if(doc.parseError) { HandleError(doc); } </script>
XML C++ DSO(#3) Loading an Inline File: <object width=“0” height=“0” classid=“clsid:550dda30-0541-11d2-9ca9-0060b0ec3d39” id=“xmldso”> <bookmark> <name>NTU CSIE Web Page</name> <url>http://www.csie.ntu.edu.tw/</url> </bookmark> </object>
Using XML DSO SPAN 元素顯示出我們想要展示的每一個元素,並對應到XML文件中的元素 thedata.xml <BOOK>Fundamental of Database Systems</BOOK> read.html <span id=“book” datasrc=“#xmldso” datafld=“BOOK” style=“color:blue”> </span>