XML l xml version 1 0 message id

  • Slides: 26
Download presentation

XML的組成 l 由標籤組成 <? xml version = “ 1. 0”? > <!- - 這裡是註解

XML的組成 l 由標籤組成 <? xml version = “ 1. 0”? > <!- - 這裡是註解 - -> <message id=“ 8942020”> <data>Hello! XML!!</data> </message> l 沒有固定的tag和elements l l <java></java> <爪哇></爪哇>

XML Tree <person> <name> <first_name>purplesea</first_name> <last_name>Huang</last_name> </name> <profession>programer</profession> </person>

XML Tree <person> <name> <first_name>purplesea</first_name> <last_name>Huang</last_name> </name> <profession>programer</profession> </person>

Namespaces EX: <subject>Math</subject> <subject>Thrombosis</subject> l l 目的:解決名稱衝突 用URI確保相同名稱產生的混淆 <rdf: RDF xmlns: rdf=“http: //www. w

Namespaces EX: <subject>Math</subject> <subject>Thrombosis</subject> l l 目的:解決名稱衝突 用URI確保相同名稱產生的混淆 <rdf: RDF xmlns: rdf=“http: //www. w 3. org/TR/REC-rdf-syntax#”> 修改: <rdf: subject ></rdf: subject> <medical: subject></medical: subject>

如何使用DTD 開始 <! DOCTYPE 結尾 > 1. internal subset *在xml裡 <? xml verdion=” 1.

如何使用DTD 開始 <! DOCTYPE 結尾 > 1. internal subset *在xml裡 <? xml verdion=” 1. 0” encoding=”Big 5” ? > <! DOCTYPE mybook [ <! ELEMENT mybook(#PCDATA)> ]> <mybook>java</mybook>

2. external subset 將DTD存到一個副檔名為. dtd的存文字檔中 *在 xml 裡 <? xml verdion=” 1. 0” encoding=”Big

2. external subset 將DTD存到一個副檔名為. dtd的存文字檔中 *在 xml 裡 <? xml verdion=” 1. 0” encoding=”Big 5” ? > <! DOCTYPE my. Message SYSTEM “mybook. dtd”> <my. Message> <message>welcome to xml</message> </my. Message> *在mybook. dtd裡 <! ELEMENT my. Message (message)> <! ELEMENT message(#PCDATA)>

3. 同時使用internal and external subset *在 xml 裡 <? xml version=” 1. 0” encoding=”Big

3. 同時使用internal and external subset *在 xml 裡 <? xml version=” 1. 0” encoding=”Big 5” ? > <! DOCTYPE books SYSTEM “my. Message. dtd”[ <! Element title (#PCDATA) > ]> …….

Element Type Declarations element之後放的是元素名稱,接著是內容 *在dtd裡 <! ELEMENT book (title, price, author)> <! ELEMENT title

Element Type Declarations element之後放的是元素名稱,接著是內容 *在dtd裡 <! ELEMENT book (title, price, author)> <! ELEMENT title (#PCDATA)> <! ELEMENT price (#PCDATA)> <! ELEMENT author (#PCDATA)>

2. 子元素 2. 1 comma( , ) <! ELEMENT book (title, price, author)> 2.

2. 子元素 2. 1 comma( , ) <! ELEMENT book (title, price, author)> 2. 2 pipe( | ) <! ELEMENT classroom (teacher | student)> 2. 3元素出現的數量 ? * + ( + ) 一個到無限多個 <! ELEMENT album (song+)> ( * ) 零個到無限多個 <! ELEMENT library (book*)> ( ? ) 可以有零個或一個 <! ELEMENT seat (person? )>

2. 4 mixed *在dtd裡 <! Element my. Message(#PCDATA|message)> <! Element message (#PCDATD)> *在xml裡 <my.

2. 4 mixed *在dtd裡 <! Element my. Message(#PCDATA|message)> <! Element message (#PCDATD)> *在xml裡 <my. Message>Here is some text, some <message>other text</message>and <message>even more text</message>. </my. Message>

2. 5 empty *在dtd裡<! Element image Empty> *在xml裡<image></image>或是<image/> 2. 6 any *在dtd裡<! Element book

2. 5 empty *在dtd裡<! Element image Empty> *在xml裡<image></image>或是<image/> 2. 6 any *在dtd裡<! Element book ANY>

Attribute Declarations *在dtd裡<!ELEMENT X (#PCDATA)> <!ATTLIST X Y CDATA #REQUIRED> 1. CDATA 指的是說可以包含任何一種文字除了(<>& ‘

Attribute Declarations *在dtd裡<!ELEMENT X (#PCDATA)> <!ATTLIST X Y CDATA #REQUIRED> 1. CDATA 指的是說可以包含任何一種文字除了(<>& ‘ “) *和XML裡的CDATA些許不同

2. #REQUIRED 是指必須提供一個屬性給x *在dtd裡 <! ELEMENT book (price)> <! ELEMENT price (#PCDATA)> <!ATTLIST price

2. #REQUIRED 是指必須提供一個屬性給x *在dtd裡 <! ELEMENT book (price)> <! ELEMENT price (#PCDATA)> <!ATTLIST price currency CDATA #REQUIRED> *在xml裡 <book> <price currency=“dollar”>java</price> </book>

Attribute Type l l ID IDREF l IDREF的值一定要和ID一樣 l ID的值一定不能是數字 <! ATTLIST shipping ship.

Attribute Type l l ID IDREF l IDREF的值一定要和ID一樣 l ID的值一定不能是數字 <! ATTLIST shipping ship. ID ID #REQUIRED > <!ATTLIST book shipped. By IDREF #IMPLIED > < shipping ship. ID=“suan” > <shipping ship. ID=“_123456”> 在數字之前加上底線 <book shipped. By=“suan”>

Attribute Type l ENTITY 先宣告ENTITY的值,然後在attribute後面加上ENTITY 替代那個值。 <! ENTITY city SYSTEM “tour. html” NDATA xtml

Attribute Type l ENTITY 先宣告ENTITY的值,然後在attribute後面加上ENTITY 替代那個值。 <! ENTITY city SYSTEM “tour. html” NDATA xtml > <! ATTLIST company tour ENTITY #REQUIRD > l <company tour=“city”>…</company> <company tour=“country”>…</company> O X

Attribute Type l NMTOKEN(name token) 允許屬性的值有特殊的符號,例如 -<! ATTLIST sport. Club phone NMTOKEN #REQUIRED >

Attribute Type l NMTOKEN(name token) 允許屬性的值有特殊的符號,例如 -<! ATTLIST sport. Club phone NMTOKEN #REQUIRED > l < sports. Club phone = “ 555 -111 -2002” > l Enumerated Attribute Types 列舉 <! ATTLIST person gender ( M|F ) “F” > <! ATTLIST person gender ( M|F ) #IMPLIED > <! ATTLIST data day ( 1 | 2 | 3 | 4…. | 31 ) #REQUIRED>

Conditional Sections l l INCLUDE IGNORE 判斷是要用哪一個element 現在是用include的這個 <! [ INCLUDE [ <! ELEMENT

Conditional Sections l l INCLUDE IGNORE 判斷是要用哪一個element 現在是用include的這個 <! [ INCLUDE [ <! ELEMENT message (approved, signature) > ]]> <! [ IGNORE [ <! ELEMENT message (approved, reason, signature) > ]]> <message> <approved flag=“true” /> <signature>Chairman</signature> </message>

Whitespace Characters l Whitespace 處理空白鍵 DTD <! DOCTYPE whitespace [ <! ELEMENT whitespace (has.

Whitespace Characters l Whitespace 處理空白鍵 DTD <! DOCTYPE whitespace [ <! ELEMENT whitespace (has. DATA, has. ID, has. NMTOKEN, has. Enumeration, has. Mixed )> <! ATTLIST has. CDATA cdata CDATA #REQUIRED > XML <whitespace> <has. CDATA cdata=“ simple cdata <has. ID = “ i 20” /> … </whitespace> “ />