XML基礎課程 5 數位芝麻網路公司 XML講師:蔡斐婷
什麼是XML? XML (Extensible Markup Language)最簡單的定義就是:「遵守特定規則的文字」。而這些規則跟HTML的規則很像,但更嚴謹一些,並加上些補強。例如:xml裡規定,每個element都要有關閉的tag。在HTML,form通常使用INPUT這個element,你常會看到像 <INPUT type=‘text’ name=‘user’ size=‘4’> 這樣的HTML語法可以被瀏覽器所接受,但在XML卻需要你將這個element關起來,可以直接在最後加上 / 告知此element是空的,來關閉此element。 <INPUT type=‘text’ name=‘user’ size=‘4’/> 或是加上一個關閉的tag <INPUT type=‘text’ name=‘user’ size=‘4’> </INPUT> 5
<name>蔡斐婷</name> <end>請多多指教</end> <?xml version="1.0" encoding="Big5"?> <Teacher> <Welcome>各位老師,大家好!我是你們XML課程的講師:</Welcome> <name>蔡斐婷</name> <end>請多多指教</end> </Teacher> 用記事本寫,存成以xml為負檔名 用ie看,如果顯示如我,恭喜你,完成一份XML的文件 15
規則&錯誤示範 一對一 <teacher> </teacher> 外面要有主要(根)的tag 不能交插用 裡面不能有限定字元 (< , >) Encoding 要 Big 5 存檔之副檔名要為xml,存檔類型要為任何檔案。 10
XML之優點 Platform independent:跨平台 Open exchange :轉換簡易,容易流通 Platform Independent RPC:跨平台遠端程序呼叫 Data Persistency:資料保值 Data Format :階層式資料結構及格式 web Pages : 應用於web基礎,wml , xml =>html Extensibility: 延展性高,不受限於過往html的規定 Flexible:因為簡單,所以支援多,增加系統彈性 10
CSS 全球資訊網協會 (World Wide Wed Consortium;W3C) 提出了串接樣式表 (Cascading Style Sheets;CSS) 規格,以提供一個將樣式從文件中分離出來的簡單模式。只要是依據這個規格的樣式表,就可以加入網頁或網站中,以設定網頁或網站中所有標籤所呈現出來的外觀或樣式。
<?xml-stylesheet type="text/css" href="HelloStyle.css" ?> <?xml version="1.0" encoding="Big5"?> <Teacher> <Welcome>各位老師,大家好!我是你們XML課程的講師:</Welcome> <name>蔡斐婷</name> <end>請多多指教</end> </Teacher>
Hellotype.css teacher { display:block; color:blue; } name{ color:red;
文件類型定義(Document type Definition,) DTD 的作用好像一本規則手冊,它允許文件作者建立相同類型的新文件,並且擁有與基底文件相同的特性。
DTD範例 <?xml version="1.0"?> <!ELEMENT EMAIL (TO+ , FROM , CC* , SUBJECT? , BODY?> <!ELEMENT TO (#PCDATA)> <!ELEMENT FROM (#PCDATA)> <!ELEMENT CC (#PCDATA)> <!ELEMENT SUBJECT (#PCDATA)> <!ELEMENT BODY (#PCDATA)> <!ENTITY SIGNATURE "Bill">
DTD範例 <?xml version="1.0"?> <!DOCTYPE EMAIL SYSTEM "mail.dtd"> <EMAIL> <TO>Jodie@msn.com</TO> <FROM>Bill@msn.com</FROM> <CC>Philip@msn.com</CC> <SUBJECT>My First DTD</SUBJECT> <BODY>Hello , World ! This is &SIGNATURE;. Take Care! </BODY> <SIGNATURE>&SIGNATURE;.</SIGNATURE> </EMAIL>
XSL (Extensible Stylesheet Language)。 具樣式的XML。 是一種特別針對XML文件所建立的格式化語言,也可以說是XML的一種應用,所以XSL的架構和語法都和XML極為相似。
XSL Rich Text Format
XSL範例 <?xml version="1.0" ?> <CATALOG> <PLANT> <COMMON>Bloodroot</COMMON> <BOTANICAL>Sanguinaria canadensis</BOTANICAL> <ZONE>4</ZONE> <LIGHT>Mostly Shady</LIGHT> <PRICE>$7.05</PRICE> <AVAILABILITY USONLY="true">02/01/99</AVAILABILITY> </PLANT> </CATALOG> <?xml-stylesheet type="text/xsl" href="sample.xsl" ?>
XSL範例 <?xml version="1.0"?> <xsl:template xmlns:xsl="uri:xsl"> <HTML> <BODY> <xsl:for-each select="CATALOG/PLANT"> <DIV> <SPAN STYLE="font-weight:bold;font-size:20"> <xsl:value-of select="COMMON"/> </SPAN> </DIV> </xsl:for-each> </BODY> </HTML> </xsl:template>
XSL : Template 觀念
XSL : Template 範例 <?xml version="1.0" encoding="Big5" ?> <?xml-stylesheet type="text/xsl" href="booksample.xsl" ?> <weather type="Current conditions"> <temp>ab</temp> <wind>5</wind> </weather>
<?xml version="1.0" encoding="Big5" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:template match="weather"> <H1><xsl:value-of select="@type"/></H1> <xsl:apply-templates/> <HR/> </xsl:template> <xsl:template match="temp"> <LI>Temperature <xsl:apply-templates/>°F</LI> <xsl:template match="wind"> <LI>Wind <xsl:apply-templates/>mph</LI> <xsl:template match="text()"> <xsl:value-of select="."/> </xsl:stylesheet>
比較表 CSS Mozilla: Good, IE5: OK XSL Only IE5, but not complete DTD IE5: support, but turn off
Elements IE 5.0 不勝任w3c的namespace xmlns:xsl=“http://www.w3.org/1999/XSL/Transform 如果用uri:xsl便可,並且需要使用嚴謹的path指向
XML 有多受歡迎? MSXML 2.0 (IE5) MSXML 2.6 (jan 2000 preview) MSXML 3.0 XML classes in .NET beta SQL Server 2000 Java, Perl, Visual Studio.Net, Visual Basic Microsoft ActiveX Data Object 2.5 Library SOAP : XML RPC
參考書目-1 Professional Visual Basic 6 XML James Britt, Teun Duynstee, Wrox XSLT Michael Kay, Wrox Designing XML Internet Applications Michael Leventhal, David Lewis, Mattew Fuchs, Prentice Hall PTR XML The Annotated Specification Bob Ducharme, Prentice Hall PTR XML by example, building e-commerce applications Sean McGrath, Prentice Hall PTR XML APPLICATIONS XML & SOAP programming for BizTalk Server Brian E. Travis, Microsoft Press
參考書目-2 XML 新網頁語言開發手冊/知城數位科技 實戰XML第二版/Microsoft Press