XML教學手冊

Download Report

Transcript XML教學手冊

IEEM 5352
E-Enterprise Integration
eXtensible Markup Language
(XML)
What is XML?
• XML: eXtensible Markup Language (XML) defines an
universal standard for electronically exchanging data for the
Internet and Web applications and is supported by major IT
vendors. Topics covered include:
– Authoring XML element and documents
– XML schema and Document Type Definition (DTD)
– XSL (eXtensible Style Language) for transforming XML
to HTML
– Tools for authoring and browsing XML to document
• XML 是在網際網路及Web上定義資料標準格式之語言。
XML是將傳統的SGML加以簡化,但是又比HTML有彈性,
使用者可自行定義標籤 (Tags), 用來傳輸有結構性的資
料是HTML之後方興未艾的Web標準。在電子商務上,尤
其企業間 (B2B) 電子商務交易,XML將式資料交換企業
整合的重要技術與標準。
• XML can take large
chunks of information
and consolidate them
into an XML document meaningful pieces that
provide structure and
organization to the
information.
Basic building block of an XML document is the element
defined by tags.
Root element -> Nested elements -> Hierarchical structure.
XML Documents
• An well formed XML document can be read and understood by
an XML parser.
• DTD (Document Type Definition) determines the structure and
elements of an XML document.
• XML parsers read XML documents and extract the data for
access by another program.
XML-Enabled Standards
• RosettaNet is a consortium of product vendors and end
users that defines a framework for data and process
interchange with e-business -XML document and standard
process flows.
• XEDI is published specification describing how to map
traditional EDI to XML and back again.
• BizTalk is an industry consortium founded by Microsoft to
define a standard XML grammar for XML-based
messaging and metadata.
XML-Enabled Standards (cont.)
• XFRML is an XML standard for reporting financial
information over the Internet.
• XML-Schema is a working group of the W3C that is
looking to describe a better mechanism for determining the
structure of an XML document.
• XML Query is another W3C working group looking to
create a common set of operations and language syntax for
accessing persisted XML data.
• XSLT provides a standard XML document transformation
mechanism using a stylesheet as a common processing
engine.
XML Tools
• XML Notepad (XML Editing Tool)
– http://msdn.microsoft.com (.NET Frameworks 2.0)
– http://www.microsoft.com/downloads/details.aspx?familyid
=72d6aa49-787d-4118-ba5f-4f30fe913628&displaylang=en
(XML Notepad)
• XML Parser
– Edit/Create Cascading Style Sheet (CSS)
– http://www.microsoft.com/downloads/thankyou.aspx?famil
yId=2cf40ae6-368c-4b6b-a1852dfa92fb7993&displayLang=en (Microsoft XML Parser)
XML Example File (prods.xml)
<?xml version=“1.0”?>
<PRODUCTLIST xmlns=“x-schema:listschema.xml”>
<PRODUCT>
<ID>722</ID>
<NAME>PENTIUM 100</NAME>
<PRICE>1000</PRICE></PRODUCT>
<PRODUCT>
<ID>721</ID>
<NAME>PENTIUM 11 300<NAME>
<PRICE>5000</PRICE></PRODUCT>
<PRODUCT>
<ID>720</ID>
<NAME>PENTIUM 111 450</NAME>
<PRICE>15000</PRICE> </PRODUCT>
</PRODUCTLIST>
Rules for Well-Formed XML
• Mandatory Closing Tag
– The set of tags are unlimited but all container
tags must have end tag, e.g., <tag>…</tag>.
• Example:
•
•
•
•
•
<number>kj9876_34</number>
<due>1/12/98</due>
<bill_to>MTB1</bill_to>
<ship_to>MTO1</ship_to>
<selling_party>AC987</selling_party>
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
<PRODUCT>
<PRODUCT>
<ID>721</ID>
<ID>
<NAME>PENTIUM 11 300</NAME>
<NAME>PENTIUM 11 300<NAME>
<PRICE>5000</PRICE>
<PRICE>5000</PRICE>
</PRODUCT>
</PRODUCT>
</ID>
Rules for Well-Formed XML (cont. 2)
• Double-quote value delimiters
– All attribute values must be enclosed in single
or double quotation marks.
• Legal:
– <tag attribute=“value”>
• Illegal:
– <font size = 6>
<XML>
<xml>
are different
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:
– <BR/>
• <TITLE></TITLE> is equivalent to <TITLE/>
XML with an internal DTD
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE BASEBALL SYSTEM "Baseball.dtd">
<BASEBALL>
<TEAM>
<CITY>New York</CITY>
<PLAYER>
<LASTNAME>Strawberry</LASTNAME>
<FIRSTNAME>Daryl</FIRSTNAME>
<AVG>.286</AVG>
</PLAYER>
</TEAM>
<TEAM>
<CITY>Baltimore</CITY>
<PLAYER>
<LASTNAME>Alomar</LASTNAME>
<FIRSTNAME>Roberto</FIRSTNAME>
<AVG>.287</AVG>
</PLAYER>
</TEAM>
</BASEBALL>
DTD (Baseball.dtd)
<!ELEMENT BASEBALL (TEAM)+>
<!ELEMENT TEAM (CITY, PLAYER*)>
<!ELEMENT CITY (#PCDATA)>
<!ELEMENT PLAYER (LASTNAME,
FIRSTNAME, AVG)>
<!ELEMENT FIRSTNAME (#PCDATA)>
<!ELEMENT LASTNAME (#PCDATA)>
<!ELEMENT AVG (#PCDATA)>
+: 1 or more
*: 0, 1 or more
XML Runtime System Architecture
Document
DocumentService
Service
Framework
Framework
Converters
document
Communication
Framework
XML
XML
XML/Java
XML/Java
Parser
Events
Parser
Events
publish
Document
Router
Protocols
publish
subscribe
Document
Document
Services
Services
Document
Document
Services
Services
XML 之網頁呈現
DTD/
Structure
XML Schema
XML
Processing
for Display or
Conversion
Document with
Special Format
document
(HTML/CSS)
content
XSL
XML Parser
Display
XML Parser
SERVER
Database
NETWORK
XML
Converter
CLIENT
XML
XML
PARSER
Client
Client
Application
Application
XML SCHEMA
• XML SCHEMA (XML-DATA)
– Much richer and more extensible way
– Describe the rule for the content of a document
and use XML itself as a grammar
– It was submitted to the W3C as the XMLDATA submission
XML SCHEMA
• A schema is defined using a particular XML
syntax
•
•
•
•
•
•
•
•
•
•
<ElementType name="to" content="textOnly" />
<ElementType name="from" content="textOnly" />
<ElementType name="cc" content="textOnly" />
<ElementType name="bcc" content="mixed">
<attribute type="hidden" required="yes" />
</ElementType>
<element type="to" minOccurs="1" maxOccurs="*" />
<element type="from" minOccurs="1" maxOccurs="1" />
<element type="cc" minOccurs="0" maxOccurs="*" />
<element type="bcc" minOccurs="0" maxOccurs="*" />
Multiple
XML and XSL
XML
XML
Internet
Web
Server
eXtensible
Stylesheet
Language (XSL)
HTML
XSL
(Browser)
XSL Example File
<?xml version=“1.0”?>
<HTML xmlns:xsl=“http:www.w3.org/tr/wd-xsl”>
<body>
<h1>test</h1>
<xsl:for-each select=“PRODUUCTLIST/PRODUCT”>
<DIV STYLE=“background-color:teal;color:white;padding:4px”>
<SPAN STYLE=“font-weight:bold;color:white”>
<xsl:value-of select=“id”/></SPAN>
<xsl:value-of select=“name”/>
</DIV>
<DIV STYLE=“margin-left:20px;margin-bottom:font-size:12pt”>
<I>price:<xsl:value-of select=“price”/></I>
</DIV>
<xsl:for-each>
</body>
</HTML>
Business to Customer
Bookstore
Customer
Order
this book
Index all
book
Web
Bookstore
Server
Database
Search
Order
Book List
Publish
books
publisher
XML
Publisher
References
• Http://www.w3.org
• Extensible Markup Language (XML) 1.1 (Second
Edition)
– http://www.w3.org/TR/2006/REC-xml1120060816
• Extensible Stylesheet Language (XSL) Version 1.1
– http://www.w3.org/TR/2006/REC-xsl11-20061205/
• XSL Transformation (XSLT)
– http://www.w3.org/TR/2007/REC-xslt20-20070123/
XML Notepad
Example
Catalog
ID
Catalog
name
Catalog
expiration date
Catalog issue
date
Categories
1
A
10/1
10/1
#1, #2, ….
2
B
10/2
10/2
1
Flower
T-shirt
M
Blue
250
#1
2
Bear Tshirt
S
Red
250
#1
3
Circle
dress
L
Black
400
#2
<catalog>
<catalog ID>1</catalog ID>
<catalog name>A</catalog name>
<category>
Category Category
Products
<category ID>1</category ID>
ID
name
<category name>T-shirt</category name>
1
T-shirt
#1, #2
…….
</category>
2
Dress
#3
…..
</catalog>
Product Product Size Color Price Category
ID
name