Скачать презентацию 經濟部 業局電子化人才培訓課程 清華大學 業 程與 程管理學系 課程名稱 電子商務管理與技術 e Скачать презентацию 經濟部 業局電子化人才培訓課程 清華大學 業 程與 程管理學系 課程名稱 電子商務管理與技術 e

c9b05f607f006f9c6a426e61849267b2.ppt

  • Количество слайдов: 44

經濟部 業局電子化人才培訓課程 清華大學 業 程與 程管理學系 課程名稱:電子商務管理與技術 e. Xtensible Markup Language (XML) 1 經濟部 業局電子化人才培訓課程 清華大學 業 程與 程管理學系 課程名稱:電子商務管理與技術 e. Xtensible Markup Language (XML) 1

主題 • • • 1. XML基礎 2. 建立 XML文件 3. XML語法檢查 (DTD/XML Schema) 4. 主題 • • • 1. XML基礎 2. 建立 XML文件 3. XML語法檢查 (DTD/XML Schema) 4. XSLT、XPath轉換 XML文件 5. XML Document Object Model 2

1. XML基礎 3 1. XML基礎 3

文件資料的物件化 • 一份電腦文件如 Word檔案 , 資料內容本身是 一份沒有結構性的文件 。 一份文件若能夠 轉換成一個樹狀結構資料 , 我們就可以如同 資料庫一般撰寫程式進行資料的排序 、搜 文件資料的物件化 • 一份電腦文件如 Word檔案 , 資料內容本身是 一份沒有結構性的文件 。 一份文件若能夠 轉換成一個樹狀結構資料 , 我們就可以如同 資料庫一般撰寫程式進行資料的排序 、搜 尋。 (如圖書產品型錄 ) • 如果所有的文件都可以使用相同的樹狀結 構進行分析 , 如此文件的格式就可以統一 , 電 腦間的檔案資料交換也更加的容易 。 4

Root element -> Nested elements -> Hierarchical structure 5 Root element -> Nested elements -> Hierarchical structure 5

What is XML? • XML: e. Xtensible Markup Language defines an universal standard for What is XML? • XML: e. Xtensible Markup Language defines an universal standard for electronically exchanging data for the Internet and Web applications and is supported by major IT vendors. • XML在書寫上非常類似 HTML, 注重資料的內容 而不是如何顯示 , 沒有如 HTML的預設標籤 , 並非 取代 HTML。 • 使用者必須自行定義描述資料所需的各種標籤 以 傳輸有結構性的資料 , 即 須注意良好格式 (Well-Formed)和 資料驗證 (Validity)。 6

XML用途 • XML儲存 HTML顯示文件內容 : 使用 XML技術 動態產生所需的 HTML網頁 。 • XML可以作為資料交換的格式 • XML應用在電子商務 XML用途 • XML儲存 HTML顯示文件內容 : 使用 XML技術 動態產生所需的 HTML網頁 。 • XML可以作為資料交換的格式 • XML應用在電子商務 : 在 企業間 (B 2 B) 電子 商務交易 , XML將是資料交換企業整合的重 要技術與標準。 7

 • XML can take large chunks of information and consolidate them into an • XML can take large chunks of information and consolidate them into an XML document - meaningful pieces that provide structure and organization to the information. 8

XML相關技術關聯圖 9 XML相關技術關聯圖 9

文件資料驗證 • 所謂的驗證即是定義一組規則 , 這套規則可 以檢查 XML文件的架構和標籤是否合乎規 則。 • DTD(Document Type Definition): 為 SGML之語 文件資料驗證 • 所謂的驗證即是定義一組規則 , 這套規則可 以檢查 XML文件的架構和標籤是否合乎規 則。 • DTD(Document Type Definition): 為 SGML之語 法檢查 , 能幫助 XML剖析器來解譯 XML文件 內容 。 • XML Schema的架構就是一份 XML文件 , 所以 在使用上和撰寫一份 XML文件一般 , 不用像 DTD需要學習另一種語法 。 10

顯示輸出和文件轉換 • XSL(Extensible Stylesheet Language)的功能有兩項 : 一 為顯示 XML的內容 , 另一就是文件轉換 , 也就是 XSLT。 顯示輸出和文件轉換 • XSL(Extensible Stylesheet Language)的功能有兩項 : 一 為顯示 XML的內容 , 另一就是文件轉換 , 也就是 XSLT。 使用 XSLT可以將 XML的樹狀結構轉換成另一架構 , 如純文字文件或 HTML文件 。 • XSL屬於一種樣式程式語言 , 其提供比 CSS(Cascading Style sheets)更加強大的 XML文件顯示的功能 。 CSS 主要用來支援簡單的 XML架構 , 而 XSL則是使用於複 雜的 XML架構 。 11

XML軟體需求 • XML剖析器 (Parser): 所謂剖析為依照標籤解讀文件 。 電腦本身雖看不懂 XML文件內容 , 但是透過標籤幫 助 , 剖析器就可以分析文件的內容取出所需的資訊 。 XML軟體需求 • XML剖析器 (Parser): 所謂剖析為依照標籤解讀文件 。 電腦本身雖看不懂 XML文件內容 , 但是透過標籤幫 助 , 剖析器就可以分析文件的內容取出所需的資訊 。 MSXML Parser 為微軟附在 IE的剖析器 , 只要 5. x版就 擁有 XML剖析器 。 • XML驗證 具 : 通常 XML編輯和瀏覽亦會提供驗證 。 • XML編輯 具 : Ultra. Edit、 XML Notepad、XML Spy。 • XML瀏覽 具 : IE 5. x可以如同瀏覽 HTML文件一般瀏 覽 XML文件 。 12

2. 建立 XML文件 13 2. 建立 XML文件 13

XML文件組成因子 • 元素 (Element): XML元素為整個文件的主要架構 , 為一 完整的項目 , 包含了標籤、屬性 、 開始標籤、結尾標籤 和其中的文字。 • XML文件組成因子 • 元素 (Element): XML元素為整個文件的主要架構 , 為一 完整的項目 , 包含了標籤、屬性 、 開始標籤、結尾標籤 和其中的文字。 • 屬性 (Attribute): 開始標籤名稱後可為標籤加上屬性名 稱和屬性值 , 且值要用雙引號括起來。 • 實體參考 (Entity Reference): 由於標籤語言本身有一些 保留符號 , 此時會用到實體參考。 • 註解 (Comment): 由 表示 • CDATA Section和 PCDATA: 在 Tag中包含的文字為 PCDATA; 如果 XML有 CDATA Section, 則告訴 Parser不要 處理此區塊的內容。 CDATA Section位於 之間 , 通常是用來儲存程式碼的資料。 • PI(Processing Instructions): PI允許文件包含應用程式的 指令 , 這些資訊告訴 XML剖析器如何處理 XML文件 , 並 將這些資訊送給應用程式。其基本格式以 表示。 14

標準 XML注意事項 • 根標籤 : 所有 XML文件都需要一對標籤來定義文件 的根元素 , 其它元素都屬於此根元素之子元素。 • XML標籤可以使用中文 , 但英文大小寫不同 標準 XML注意事項 • 根標籤 : 所有 XML文件都需要一對標籤來定義文件 的根元素 , 其它元素都屬於此根元素之子元素。 • XML標籤可以使用中文 , 但英文大小寫不同 • 所有元素需要有結尾標籤 • 巢狀 XML元素不可重疊 • 屬性值必須要有雙引號 15

Rules for Well-Formed XML • Mandatory Closing Tag – The set of tags are Rules for Well-Formed XML • Mandatory Closing Tag – The set of tags are unlimited but all container tags must have end tag, e. g. , . • Example: • • • kj 9876_34 1/12/98 MTB 1 MTO 1 AC 987 16

Rules for Well-Formed XML (cont. ) • Proper Element Nesting – All tags must Rules for Well-Formed XML (cont. ) • Proper Element Nesting – All tags must be nested correctly. Like HTML, XML can intermix tag, but tags may not overlap each other. • Legal XML Illegal XML 721 PENTIUM 11 300 PENTIUM 11 300 5000 17

Rules for Well-Formed XML (cont. 2) • Double-quote value delimiters – All attribute values Rules for Well-Formed XML (cont. 2) • Double-quote value delimiters – All attribute values must be enclosed in single or double quotation marks. • Legal: – • Illegal: – are different 18

Rules for Well-Formed XML (cont. 3) • Single tag element – Singleton tag (called Rules for Well-Formed XML (cont. 3) • Single tag element – Singleton tag (called empty element or tags without content) must be written in an abbreviated form using special XML syntax. • Legal: –
is equivalent to 19 </p> </div> <div style="width: auto;" class="description columns twelve"><p><img class="imgdescription" title="XML範例 (product. xml) <? xml version="1. 0" encoding="Big 5"? > <!--product. xml edited by" src="https://present5.com/presentation/c9b05f607f006f9c6a426e61849267b2/image-20.jpg" alt="XML範例 (product. xml) <? xml version="1. 0" encoding="Big 5"? > <!--product. xml edited by" /> XML範例 (product. xml) <? xml version="1. 0" encoding="Big 5"? > <!--product. xml edited by jack--> <PRODUCTLIST> <PRODUCT> <ID>721</ID> <NAME>PENTIUM 100</NAME> <PRICE>1000</PRICE> </PRODUCT> <ID>722</ID> <NAME>PENTIUM 11 300</NAME> <PRICE>5000</PRICE> </PRODUCTLIST> 20 </p> </div> <div style="width: auto;" class="description columns twelve"><p><img class="imgdescription" title="Exercise 1. booklist含有子元素 book兩個 2. book含有子元素 code title author price 3. Tag中包含的文字自訂 Hint: <?" src="https://present5.com/presentation/c9b05f607f006f9c6a426e61849267b2/image-21.jpg" alt="Exercise 1. booklist含有子元素 book兩個 2. book含有子元素 code title author price 3. Tag中包含的文字自訂 Hint: <?" /> Exercise 1. booklist含有子元素 book兩個 2. book含有子元素 code title author price 3. Tag中包含的文字自訂 Hint: <? xml version=“ 1. 0” encoding=“Big 5”? > 21 </p> </div> <div style="width: auto;" class="description columns twelve"><p><img class="imgdescription" title="XML文件的名稱空間 (Namespace) • 如果 XML文件需要引用其它 XML架構或元素 , 或是與 其它 XML文件進行資料交換 , 我們必須要在 XML文件 宣告名稱空間" src="https://present5.com/presentation/c9b05f607f006f9c6a426e61849267b2/image-22.jpg" alt="XML文件的名稱空間 (Namespace) • 如果 XML文件需要引用其它 XML架構或元素 , 或是與 其它 XML文件進行資料交換 , 我們必須要在 XML文件 宣告名稱空間" /> XML文件的名稱空間 (Namespace) • 如果 XML文件需要引用其它 XML架構或元素 , 或是與 其它 XML文件進行資料交換 , 我們必須要在 XML文件 宣告名稱空間 , 以避免標籤名稱重複的問題。 • 為了取得唯一的標籤名稱 , 名稱空間使用網址的名稱 和路徑 , 我們稱為 URI (Universal Resource Identifier) 。 例 <PRODUCT xmlns = http: //www. company. com/ > • 標籤的完整名稱 : <名稱空間字頭 : 標籤名稱 > 例如 : <bk: title> <jb: title> 亦即前面的名稱空間不同 , 就屬於不同的標籤。 22 </p> </div> <div style="width: auto;" class="description columns twelve"><p><img class="imgdescription" title="名稱空間範圍 <? xml version="1. 0" encoding="Big 5" ? > <booklist> <book xmlns="http: //www. company." src="https://present5.com/presentation/c9b05f607f006f9c6a426e61849267b2/image-23.jpg" alt="名稱空間範圍 <? xml version="1. 0" encoding="Big 5" ? > <booklist> <book xmlns="http: //www. company." /> 名稱空間範圍 <? xml version="1. 0" encoding="Big 5" ? > <booklist> <book xmlns="http: //www. company. com/"> <title>abc 123 jack < companyname > ebec student 23

3. XML語法檢查 (DTD/XML Schema) 24 3. XML語法檢查 (DTD/XML Schema) 24

DTD (Document Type Definition) • Schema是一種 XML文件內容驗證機制 , 主要是定義文 件出現的元素 、屬性和整份文件的架構 , 也就是元素 擁有哪些子元素的內容模型 DTD (Document Type Definition) • Schema是一種 XML文件內容驗證機制 , 主要是定義文 件出現的元素 、屬性和整份文件的架構 , 也就是元素 擁有哪些子元素的內容模型 (Content Models) 。 • 一旦 XML文件定義好 DTD, 在使用編輯 具建立 XML文 件時 , 編輯 具就可以依據 DTD檢查 XML是否為合法的 內容。 • XML 1. 0版的 Schema預設為 DTD, 而 XML Schema是由 MS 所提出 , 其目的就是要取代 DTD成為下一代的 XML驗證 機制。 25

F" src="https://present5.com/presentation/c9b05f607f006f9c6a426e61849267b2/image-26.jpg" alt="內部 DTD F" /> 內部 DTD F 0001 abc jack 1 price)> 580 F 0002 def jack 2 #REQUIRED > 550 ]> 26

XML Schema • XML Schema本身屬於一份 XML文件 , 其基本的架構和驗證 的 XML文件並沒有什麼不同 , 通常我們將 XML Schema驗證 XML Schema • XML Schema本身屬於一份 XML文件 , 其基本的架構和驗證 的 XML文件並沒有什麼不同 , 通常我們將 XML Schema驗證 的 XML文件稱為 Instance文件;而XML Schema文件稱為 Schema文件。 • 基本架構如下所示 : ………… 27

XML Schema (cont. ) • 元素 Schema間之子元素就是在定義 Instance文件的 XML元素 , 常用的 XML元素如下表所示 : 元素 XML Schema (cont. ) • 元素 Schema間之子元素就是在定義 Instance文件的 XML元素 , 常用的 XML元素如下表所示 : 元素 schema simple. Type 說明 XML Schema文件的根元素 使用者自己定義的資料型 態 Element 宣告 XML元素 complex. Typ 宣告 XML子元素 e attribute 宣告元素屬性 28

XML Schema (cont. 2) • 通常我們將 XML Schema獨立存成一個 Schema文件檔案 , 副 檔名為. xsd, 然後在 XML Schema (cont. 2) • 通常我們將 XML Schema獨立存成一個 Schema文件檔案 , 副 檔名為. xsd, 然後在 XML的 Instance文件指定使用的 Schema 檔案。 • XML Schema支援多達四十種以上的資料型態 , 而且允許使 用者自定資料型態 , 這些資料型態是使用在 XML元素和內 容。例如string、boolean、float、double等。 29

XML Schema (cont. 3) (1) 0<= Order. Quality <= 100 <simple. Type name = XML Schema (cont. 3) (1) 0<= Order. Quality <= 100 (2)列舉清單 (3)正規語法 ps: d代表為數字 30

4. XSLT、XPath 轉換 XML文件 31 4. XSLT、XPath 轉換 XML文件 31

XSL(e. Xtensible Style Language) • XML文件本身只是在定義資料的內容 , 如果需要顯示 XML 元素的資料 , 我們需要描述 XML元素如何被顯示 , XSL(e. Xtensible Style Language) • XML文件本身只是在定義資料的內容 , 如果需要顯示 XML 元素的資料 , 我們需要描述 XML元素如何被顯示 , 這種語言 稱為樣式語言 。CSS只是其中一個選擇 , XSL才是配合 XML 的樣式語言 。 • XSL主要功能分為兩部分 : 1. 轉換 XML文件 : 將 XML文件架構轉換成另一個 XML架構的文 件, 或是 HTML文件 。 (稱為 XSLT; XSL Transformations)目前支援 XML的瀏覽程式不多 , 所以 XSLT的角色即相當重要。 2. 格式化 XML文件 : 格式化元素內容樣式 , 以便顯示出 XML文 件。 32

XSLT是如何 作 ? • XSLT簡單的說 , 即是將一棵來源為 XML的樹 , 套用 XSLT轉換範本樹 , 修改一些節點結構 , XSLT是如何 作 ? • XSLT簡單的說 , 即是將一棵來源為 XML的樹 , 套用 XSLT轉換範本樹 , 修改一些節點結構 , 最後產生另一 棵不同架構的樹狀結構 。 33

XPath Language • 因為 XSLT屬於一種範本驅動的轉換 , 也就是說需要 在 XML文件正確描述 XML元素的位置。 XML文件能 夠轉換成為一個樹狀結構 , 如何找到指定節點的定 XPath Language • 因為 XSLT屬於一種範本驅動的轉換 , 也就是說需要 在 XML文件正確描述 XML元素的位置。 XML文件能 夠轉換成為一個樹狀結構 , 如何找到指定節點的定 位指令就是 XPath的目的。 • Xpath之位置路徑 : 例 : /glossary/item/title[1] /glossary/item/[email protected] //title /glossary/item/* 34

XSLT基本架構 ……………………… 35

XSLT常用的元素 說明 XSLT元素 <xsl: stylesheet> XSLT Script之根標籤 <xsl: template> XSLT的範本,每一個 xsl: template元素內涵指定 元素的轉換規則。 <xsl: XSLT常用的元素 說明 XSLT元素 XSLT Script之根標籤 XSLT的範本,每一個 xsl: template元素內涵指定 元素的轉換規則。 呼叫犯範本函數, 使用傳入函數的 參數 取出選擇 XML元素或屬性內容 XSLT的迴路元素,元素的內容可以依迴路條件 處理所有符合條件的子元素。 XSLT的條件元素,當條件成立時,才處理指定 的範本規則 這三個元素就是建立多條件範本規則,如同 VBScript的 Select Case 36

XSLT範例 1 (test. xsl) 測試XSLT 37

XSL範例 2 (Student) 38 XSL範例 2 (Student) 38

XSL範例 3 (Query HP Printer) 39 XSL範例 3 (Query HP Printer) 39

4. XML Document Object Model 40 4. XML Document Object Model 40

XML Document Object Model XML DOM屬於 XML文件程式設計的介 面物件,XML文件視為樹狀結構的節點,程 式設計者能夠透過 XML DOM瀏覽 XML文件、 新增、刪除和修改節點的資料。 41 XML Document Object Model XML DOM屬於 XML文件程式設計的介 面物件,XML文件視為樹狀結構的節點,程 式設計者能夠透過 XML DOM瀏覽 XML文件、 新增、刪除和修改節點的資料。 41

XML DOM範例 1 (Query HP Printer)進階版 (使用 XML文件 , 建立商品清單的文字資 料庫 , 然後建立查詢商品的 ASP程式 XML DOM範例 1 (Query HP Printer)進階版 (使用 XML文件 , 建立商品清單的文字資 料庫 , 然後建立查詢商品的 ASP程式 , 這 就是網路商店的產品瀏覽和查詢功能。 ) 42

References • XML的入門與應用 – http: //www. hpdiy. com. tw/xml. htm • 實戰XML – http: References • XML的入門與應用 – http: //www. hpdiy. com. tw/xml. htm • 實戰XML – http: //www. softchina. com. tw • XML IE 5 – http: //webdev. wrox. co. uk/books/1576/ • XML-Data standard – http: //www. w 3. org/TR/NOTE-XML-data/ • XSL standard – http: //www. w 3. org/TR/NOTE-XML-data/ 43

XML網站推薦 • IBM網站 – http: //www. ibm. com/developer/xml/ • 微軟網站 – http: //msdn. microsoft. XML網站推薦 • IBM網站 – http: //www. ibm. com/developer/xml/ • 微軟網站 – http: //msdn. microsoft. com/xml/default. asp • Free XML software – http: //www. stud. ifi. uio. no/~lmariusg/linker/XMLtools. html – http: //www. stud. ifi. uio. no/~lmariusg/linker/xmltools/by-platform. html 44