+ All Categories
Home > Documents > XMLTA2003 Transparency No. 1 XML : Technologies and Applications Cheng-Chia Chen Feb. 2003.

XMLTA2003 Transparency No. 1 XML : Technologies and Applications Cheng-Chia Chen Feb. 2003.

Date post: 19-Dec-2015
Category:
View: 216 times
Download: 0 times
Share this document with a friend
Popular Tags:
105
XMLTA2003 Transparency No. 1 XML : Technologies and Applications Cheng-Chia Chen Feb. 2003
Transcript

XMLTA2003

Transparency No. 1

XML :Technologies and Applications

Cheng-Chia Chen

Feb. 2003

XML Introduction

Transparency No. 2

contents

What is XML ?Where does XML come from? What is its status?Why do we need XML ?XML v.s Other formatsCore XML Specifications and APIsHow can we do with XML?XML sitesA partial list of XML applications and industry

initiativesa sketch of XML documents

XML Introduction

Transparency No. 3

What is XML ?

The eXtensible Markup Language a data-structure definition language : let you define the str

ucture and format of your own data. a data format (syntax) used for the representation, storag

e and transmission of data whose format is defined by xml.

Text-based markup Language, let you define your own HTML-like markup languages.

Recommended by World Web Consortium (W3C) in Feb 1998.

intended to be used as a new message format over the Internet to complement the inadequacy of HTML.

a subset of SGMLis now very popular and becomes the dominating in

terchange format of information over the internet

XML Introduction

Transparency No. 4

The idea of XML

Existing student information

S9010張得功 資科系 三年級 [email protected]

S9021王德財 應數系 二年級 null

XML Introduction

Transparency No. 5

HTML’s concerns

How to present the data:

<TABLE BORDER=1 bgcolor=“yellow” > <TR><TH> 學號 </TH> 姓名 <TH> 科系 </TH> <TH> 年級 </TH> <TH> 電郵 </TH> </TR> <TR><TD> S9010</TD><TD> 張得功 </TD> <TD> 資科系 </TD> <TD> 三年級 </TD> <TD> [email protected] </TD></TR>

<TR> <TD> S9021 </TD> <TD> 王德財 </TD> <TD> 應數系 </TD> <TD> 二年級 </TD> </TR></TABLE>

學號 姓名 科系 年級 電郵

S9010 張得功 資科系 三年級 [email protected]

s9021 王德財 應數系 二年級

XML Introduction

Transparency No. 6

XML uses markup tags as well, but, describe the content, rather than the presentation of that content.

the same example coded in XML:

<students> <student>< 學號 > S9010 </ 學號 > < 姓名 > 張得功 </ 姓名 > < 科系 > 資科系 </ 科系 > < 年級 > 三年級 </ 年級 > < 電郵 > [email protected] </ 電郵 > </student> <student>< 學號 > S9021 </ 學號 > < 姓名 > 王德財 </ 姓名 > < 科系 > 應數系 </ 科系 > < 年級 > 二年級 </ 年級 >< 電郵 /> </student> … </students>

Notes: 1. Only contents are encoded in the XML text. 2. All data are annotated by tags indicating their roles or functions i

n the message.

XML’s concerns

XML Introduction

Transparency No. 7

Where does XML come from ?

a simplified subset of the Standard Generalized Markup Language (SGML) standardized in 1986, based on the Generalized Markup Language invented by IBM in 1969

simplified for more general use on the Web and as a data interchange format. without losing extensibility, easier for anyone to write valid XML. easier to write a parser easier for the parser to quickly verify that documents are

well-formed and/or valid.

Recommended by W3c at Feb. 1998.

XML Introduction

Transparency No. 8

What is the status of XML?

embraced by all of the leaders in the computer industry. many vertical industries are embracing XML for its ability

to expedite the availability of their domain-specific information for internal and external use.

IBM, Microsoft, Sun, Oracle, HP, …

There are many W3C-proposed extensions to XML. Most use the XML language, which minimizes the

differences in syntax that must be learned.

See XML at W3c or The XML Cover Pages for most up-to-date information.

XMLTA2003

Transparency No. 1

Why do we need XML ?

or What can XML bring us?

XML Introduction

Transparency No. 10

XML unifies the syntax of information

Layer of information(data): bit byte character BCD EBCDIC ASCII BIG5 ISO-8859 ==> UNICODE syntax(form) XML semantics (ontology) Semantic Web Application

Semantic Web: an extension of the current web in which information is gi

ven well-defined meaning, better enabling computers and people to work in cooperation.

--- Tim Berners-Lee et.al.

XML Introduction

Transparency No. 11

New desired requirements in the internet age

Easy retrieval of information over the net realized by current Web/internet technology good browser, web server HTTP, DNS, search engines. HTML, URI, HyperText, MIME

Easy/cheap interoperation of existing softwares in the internet. also the old goal of distributed system/computing RPC, RMI, CORBA,... a prerequisite for eCommerce

issues: data transmission ==> solved by existing internet infrastructure data representations ?

XML Introduction

Transparency No. 12

Why needing a unifying format for data ?

Case: 10 word processors, each need to be able to process docs generated by any other.

1st approach: write a converter A-->B for any A and B. #converter = n x (n-1) = 90 (bad!)

2nd approach: invent a common format (C). write a pair of converters (A --> C, C-->A) for each word

processor. To process doc generated from A by B, simply A ==(A-->C)== C == (C-->B) == B required converts: 2 x n = 20 (much better!) prerequisite: need a common format. This is what XML plays!!

XML Introduction

Transparency No. 13

Example:XML in EDA (Electric Design Automation)

XML Introduction

Transparency No. 14

Additional benefits of XML (as a common format)

Free (or cheap) cost of obtaining required software for processing XML. without the need to reinvent the wheel. can focus on value-added software based on these underl

ying software.

Decoupling of tightly-coupled distributed systems into loosely one. less monopolization of software by vendors more selections of combinations for buyers more chances of contributing softwares for small compan

y. less investment for buyers.

XML Introduction

Transparency No. 15

Application type of current World-Wide Web

Three-tier WWW architecture :Major information flows (for human information retri

eval):

(human) -->client browser --(http)--> webServer

--> CGI(query) --> databases -->wrap result into html or other MIME formats --(http) ---> browser ---(data rendering) --> human

major interactions and interchanged data formats: application type: information retrieval Man ---(html/MIME)--- machine(browser+web server) web server ----(machine dependent)--- backend system

(databases)

XML Introduction

Transparency No. 16

IE5,6

NETSCAPE

...

...

IISapache

client browser

web server

web server

web server

client browser

client browser

the internet

databasesfile

system databasesfile

system

databasesfile

system

queryresult tables

query(post,get)http

html/textgif/jpegvideo/audio

XML Introduction

Transparency No. 17

The other major WWW applications: business applications

XML Introduction

Transparency No. 18

Additional Interactions for WWW business applications

New application type : web serviceadditional interactions

backend business system <---> webserver <--> webserver <---> backend business system

Problem: Too many data formats exist among the systems and web servers understanding all kinds of data formats are hard to implement.

Solution: define a universal or a small set of universal data formats and require all systems to transmit data using such formats.

but the existing HTML + MIME formats not enough ? NO!! HTML, while amendable to human via browsers, is n

ot easy for machine to understand/retrieve data.

XML Introduction

Transparency No. 19

Advantages of XML over HTML

XML can define your own tags.XML tags describe the content, rather than the pres

entation of that content easier for content search (no annoying presentation data). easier for page development (separating content from vie

w) easy for devices to render the contents depending on its

environments (single model/multiple views)Notes for the next figure:

searches can be applied to XML data more easily, and the result can be rendered differently, depending on the destination device.

the XML processor can exist on the server, the client, or both.

XML Introduction

Transparency No. 20

work done by the XML processor in response to a client request:1. collect data from related data sources2. merge sources into a unifying content3. rendering data depending on the client’s environment.

XML Introduction

Transparency No. 21

Business area benefited from XML use

e-commerce there are now many specific XML languages to describe

orders, transactions, inventory, and billing. These open XML languages will allow manufacturers, reta

ilers, and consumers, even banking and accounting systems to share the same data.

Meaningful searches, platform independence If Web data (contents) is encoded in XML, customers can

find your product or service, and purchase it, without regard for the used (server/client) platforms.

Data accessibility XML schema allow XML documents to encod

e the datatype information and relationships in existing databases.

XML Introduction

Transparency No. 22

Business area benefited from XML use

XML extensions such as XQuery can be used to specify queries within XML.

Database information can be immediately accessible as XML on corporate intranets or the Web. XML views provided now by most venders

XML Introduction

Transparency No. 23

Business area benefited from XML use

Application simplification Today's applications suffer from file-format bloat. XML's open and extensible nature allows us to represent

all of the functionality of different existing formats in one XML domain-specific grammar.

enable the sharing of data over the Internet.Since the actual data but not its presentation is encoded, it may

be presented on any output device from the PC with a browser to the cell-phone and small PDA.

XML Introduction

Transparency No. 24

Comparison of XML and Other formats

HTML discussed

Text-based non-markup formats .c .cpp .java .ini …

Binary formats .dll .exe .o .swf .class .png .jpeg …

XML Introduction

Transparency No. 25

Advantage of XML over text formats

Ex: JavaML v.s Java; CppML v.s Cpp XMI v.s rational’s proprietary format web.xml, plugin.xml v.s ***.ini (for configuration) build.xml v.s. makefile

advantage: structure explicitly represented in the XML format. (free and) standard tools (and API) exists for quick parsing of the XM

L format. => front-end processing avoided/reduceddisadvantage: too verbose.

for storage and transmission. can be overcome by compression

for human generation; (not a problem for machine generation) require smarter editor

for human reading/comprehension:a real problem!!

XML Introduction

Transparency No. 26

Advantage of XML over binary formats

Example: classML v.s .clss file format. swfml v.s swf (Flash file format) XQuery XML format v.s plain text format RelaxNG XML v.s. plain text format

advantage: readable; editable (free and) open software and APIs available

disadvantage: take longer time to parse.

The trend: one data model/ multi representation formats + converters among the formats.

XML Introduction

Transparency No. 27

Core specifications for XML

XML 1.0XML NamespaceXML Path language (XPath)XML Stylesheet Langugae (XSL)

XSL Transformation language (XSLT) XSL formating Objects (XSLFO)

XML Linking language (XLink)XML Pointer Langugae (XPointer)XML schemas (; RelaxNG)XHTMLXML signatures/canonicalizationXML protocolsXMLFormXQuery (XML language for Querying XML Documents)

XML Introduction

Transparency No. 28

Core Specifications for XML

XML document type definition (DTD) : a utility used to define the formats a

nd contents of valid XML documents. a specification to define what kinds of texts are well-formed XML doc

ument

XML namespace Define a mechanism to avoid collision of elements and/or attribute na

mes in documents using multiple sets of DTDs.

Xlink Define the mechanism for linking to web resources from an XML doc

ument.

Xpointer Define a mechanism for linking to inside an XML document.

XPath Define a mechanism to refer to part of an XML document

XML Introduction

Transparency No. 29

XSL ( XML Stylesheet Language)

a language for expressing stylesheets. consists of two parts:

XSLT : a language (in XML format) used to describe how to transform an XML document into one in XML or non-XML format.

XSLFO: an XML vocabulary for specifying formatting semantics.

An XSL stylesheet specifies the presentation of a class of XML documents by describing how an instance of the class is transformed into an XML document that uses the formatting vocabulary.

XML Introduction

Transparency No. 30

XML Introduction

Transparency No. 31

XML Schema A planned replacement of DTD. used to define the structures and formats of various mess

ages encoded in XML format. another competing alternative: RelaxNG

consists of three documents: Part 0: a primer

an easy-to-understand introcuction

Part 2: Datatypes define tens of frequently used bulit-in datatypes

Part 3: structures specifies the XML Schema definition language, offers facilities f

or describing the structure and constraining the contents of XML documents

XML Introduction

Transparency No. 32

API for XML documents

DOM (level 1 & 2) : Document Object Model Tree-based XML API language independent

SAX (version 1 & 2) : Simple API for XML Document, Event-based XML API

JDOM, dom4j (XML APIs for Java) DOM for Java Tree-based, simpler version of DOM easier to use than DOM, suitable for Java only

XML Introduction

Transparency No. 33

How can XML be used ?

XML was designed to store, carry and exchange data. It was not designed to display data.

As a syntax format:XML is used to Exchange Data

With XML, data can be exchanged between incompatible systems.

XML and B2B : With XML, financial information can be exchanged over the Internet.

XML can be used to Share Data With XML, plain text files can be used to share data.

XML can be used to Store DataWith XML, plain text files can be used to store data and

object.

As a meta language (for defining data structure)XML can be used to Create new Languages

XML is the mother of WML, SVG, SMIL, GXL, XHTML, CML,...

XML Introduction

Transparency No. 34

XML can make your Data more Useful With XML, your data is available to more users.

For sensible developers All sensible developers should have all their

future applications exchange data in XML.

XML Introduction

Transparency No. 35

What can we do about XML

XML processing tools: XML parser; XML editors; XML-existing format converter XML2HTML; DTD2DCD ; DCDeditor Various Domain-specific XML rendering tools

graphical XML --> Graphic

DTD manager, schema tools, soap processor, web service tools/IDE/system

XML-enabled services/applications: make your application software capable of serving reques

t from internet (without special prerequisite) and requesting other internet on-line service.

XML Introduction

Transparency No. 36

What can we do about XML ?

XML document design/application development Design standard XML format for various domains

order, transaction, billing, product for business domain mathematical formula, chemical formula in science Graph/graphics markup language ; Others: ? academic artifacts: OODesign (XMI), graph(GXL), petriNet, java O

bject (XML encoding), AST,... require cooperation of XML experts and domain experts.

XMLize legacy system data/database domain: 一般企業 : 之 人事 庫存 客戶 產品 產品使用手冊 公文 ; 醫院 學校

政府機關 ( 戶政 地政 稅捐 ...) : 病例 藥品 課程 戶籍 地籍 稅務 Approaches:

– change old format to new XML format, and optionally, provide a view of old format.

– two formats coexisting.– preserve old format, provide a new XML view.

XML Introduction

Transparency No. 37

XML information

Java Sun’s java site: (http://java.sun.com/) The java tutorial (http://java.sun.com/docs/books/tutorial/)

is a nice book to begin with.Information sources for XML:

W3C site: http://www.w3.org/TR/ SGML/XML home page: http://xml.coverpages.org/ XML com: http://www.xml.com/ XML university: http://www.xmlu.com/ XML page of leading computer companies

Microsoft: http://www.microsoft.com/xml/ IBM: http://www.ibm.com/developer/xml/sun: http://java.sun.com/xml

See the course page for more.

XML Introduction

Transparency No. 38

XML applications

XML as an alternative representation format (SVG) Scalar Vector Graph : for vector graph (MathML) : for mathematical expressions SMIL (Synchronized Multimedium Integration language): Resource Description Framework (RDF) : an XML language for descri

bing web resources and their relationship CML (Chemical Markup Language) : for chemical molecule JCML : XML format for java bytecodes (object code) JavaML : for java programs CppML : XML formats for C++ Ant : a replacement of make for java OOML : a OO PL in XML UIML : user interface Markup language WAP WML (Wireless Markup Language)

XML Introduction

Transparency No. 39

A partial list of XML applications and industry initiatives W3C Specifications Documentation Text Encoding Initiative (TEI) XCES: Corpus Encoding Standard for XML Encoding and Markup for Texts of the Ancient Near East Electronic Text Corpus of Sumerian Literature (ETCSL) Perseus Project Channel Definition Format, CDF (Based on XML) RDF Rich Site Summary (RSS) Open Content Syndication (OCS) Web Modeling Language (WebML) Portable Site Information (PSI) XHTML and 'XML-Based' HTML Modules W3C Document Object Model (DOM), Level 1 Specification Web Collections using XML Meta Content Framework Using XML (MCF) XML-Data Namespaces in XML Resource Description Framework (RDF) Ontology Interchange Language (OIL) The Australia New Zealand Land Information Council (ANZLIC) - Metadata Alexandria Digital Library Project ATLA Serials Project (ATLAS)

XML Introduction

Transparency No. 40

XML in law

BiblioML - XML for UNIMARC Bibliographic Records Medlane XMLMARC Experiment - MARC to XML e-Government Interoperability Framework (e-GIF) US Federal CIO Council XML Working Group XML Metadata Interchange Format (XMI) - Object Management Group (OMG) OMG Common Warehouse Metadata Interchange (CWMI) Specification Object Management Group XML/Value RFP MDC Open Information Model (OIM) Dublin Core Metadata Initiative (DCMI) Open Archives Metadata Set (OAMS) Publishing Requirements for Industry Standard Metadata (PRISM) Platform for Internet Content Selection (PICS) XML and Petri Nets Outline Processor Markup Language (OPML) ParlML: A Common Vocabulary for Parliamentary Language Legal XML Working Group COSCA/NACM JTC XML Court Filing Project New Mexico District Court XML Interface (XCI)

XML Introduction

Transparency No. 41

XML and multimedia

Synchronized Multimedia Integration Language (SMIL) Multimodal Presentation Markup Language (MPML) Moving Picture Experts Group: MPEG-7 Standard DIG35: Metadata Standard for Digital Images W3C Scalable Vector Graphics (SVG) Precision Graphics Markup Language (PGML) Vector Markup Language (VML) Image Markup Language (IML) VRML (Virtual Reality Modeling Language) and X3D Extensible Graph Markup and Modeling Language (XGMML) Structured Graph Format (SGF) Graph Exchange Language (GXL) Petri Net Markup Language (PNML)

XML Introduction

Transparency No. 42

XML in chemistry and biochemistry

Georgia State University Electronic Court Filing Project Web Standards Project (WSP) Open Software Description Format (OSD) XLF (Extensible Log Format) Initiative ALURe (Aggregation and Logging of User Requests) XML Specification Apache XML Project WAP Wireless Markup Language Specification The SyncML Initiative Materials Property Data Markup Language (MatML) Measurement Units Markup Language XML-Based 'eStandard' for the Chemical Industry Chemical Markup Language Molecular Dynamics [Markup] Language (MoDL) StarDOM - Transforming Scientific Data into XML Bioinformatic Sequence Markup Language (BSML) BIOpolymer Markup Language (BIOML) CellML Gene Expression Markup Language (GEML) Genome Annotation Markup Elements (GAME)

XML Introduction

Transparency No. 43

XML and Finance

Microarray Markup Language (MAML) XML for Multiple Sequence Alignments (MSAML) Systems Biology Markup Language (SBML) OMG Gene Expression RFP Taxonomic Markup Language XDELTA: XML Format for Taxonomic Information Virtual Hyperglossary (VHG) Weather Observation Definition Format (OMF) Open Philanthropy Exchange (OPX) Open Financial Exchange (OFX/OFE) Interactive Financial Exchange (IFX) FinXML - 'The Digital Language for Capital Markets' Investment Research Markup Language (IRML) Extensible Financial Reporting Markup Language (XFRML) Extensible Business Reporting Language (XBRL) XMLPay Specification Trading Partner Agreement Markup Language (tpaML) Internet Open Trading Protocol (IOTP) Financial Products Markup Language (FpML)

XML Introduction

Transparency No. 44

XML messaging ( or XML Protocols)

XML Mail Transport Protocol (XMTP) for XML SMTP and MIME Representation HTML Threading - Use of HTML in Email XML Messaging (IETF) Jabber XML Protocol XML Messaging Specification (XMSG) M Project: Java XML-Based Messaging System HTTP Distribution and Replication Protocol (DRP) Information and Content Exchange (ICE)

XML Introduction

Transparency No. 45

FAML DTD for Financial Research Documents Mortgage Bankers Association of America MISMO Standard Digital Property Rights Language (DPRL) Extensible Rights Markup Language (XrML) Open Digital Rights Language (ODRL) Research Information Exchange Markup Language (RIXML) Data Link for Intermediaries Markup Language (daliML) XML-MP: XML Mortgage Partners Framework EcoKnowMICS ML Electronic Book Exchange (EBX) Working Group FIXML - A Markup Language for

the FIX Application Message Layer Bank Internet Payment System (BIPS) smartX ['SmartCard'] Markup Language (SML)

XML Introduction

Transparency No. 46

Secure XML

XML and Encryption XML Digital Signature (Signed XML - IETF/W3C) XML Key Management Specification (XKMS) Security Services Markup Language (S2ML) AuthXML Standard for Web Security Digital Signatures for Internet Open Trading Protocol (IOTP) XML Encoding of SPKI Certificates Digital Receipt Infrastructure Initiative Digest Values for DOM (DOMHASH) Signed Document Markup Language (SDML)

XML Introduction

Transparency No. 47

Real Estate Transaction Markup Language (RETML) OpenMLS and RELML (Real Estate Listing Markup Language) Data Consortium (Real Estate Standards) Comprehensive Real Estate Transaction Markup Language (CRTML) ACORD - XML for the Insurance Industry iLingo XML Schemas for Insurance Customer Profile Exchange (CPEX) Working Group Customer Support Consortium XML for the Automotive Industry - SAE J2008 Spacecraft Markup Language (SML) XML.ORG - The XML Industry Portal X-ACT - XML Active Content Technologies Council Electronic Business XML Initiative (ebXML) BASDA eBIS-XML Portal Markup Language (PML) EDGARspace Portal DII Common Operating Environment (COE) XML Registry StarOffice XML File Format Open eBook Initiative ONIX International XML DTD NISO Digital Talking Books (DTB)

XML Introduction

Transparency No. 48

OpenMath Standard OMDoc: A Standard for Mathematical Documents Mathematical Markup Language Re-Useable Data Language (RDL)" OpenTag Markup Metadata - PICS MIX - Mediation of Information Using XML CDIF XML-Based Transfer Format Covad xLink API (XML-Based DSL Provisionin

g) WebBroker: Distributed Object Communication on the Web Web Interface Definition Language (WIDL) Global Engineering Networking Initiative (GEN) XML/EDI - Electronic Data Interchange XML/EDI Repository Working Group

XML Introduction

Transparency No. 49

Global Uniform Interoperable Data Exchange (GUIDE) BizCodes Initiative Universal Data Element Framework (UDEF) European XML/EDI Workshop EEMA EDI/EC Work Group - XML/EDI ANSI ASC X12/XML and DISA OpenTravel Alliance (OTA) Hospitality Industry Technology Integration Standards (HITIS) Project Open Catalog Protocol (OCP) eCatalog XML (eCX) vCard Electronic Business Card Customer Identity / Name and Address Markup Language (CIML, NAML) AND Global Address XML Definition Historical Event Markup and Linking iCalendar XML DTD

XML Introduction

Transparency No. 50

EC FrameWorks

CommerceNet Industry Initiative eCo Interoperability Framework Specification BizTalk Framework eCo Framework Project and Working Group Commerce XML (cXML) SMBXML: An Open Standard for Small to Medium Sized Businesses RosettaNet

XML Introduction

Transparency No. 51

XML Encoded Form Values Capability Card: An Attribute Certificate in XML Telecommunications Interchange Markup (TIM, TCIF/IPI) aecXML Working Group - Architecture, Engineering and Construction Building Construction Extensible Markup Language (bcXML) MasterBuilder Construction Management and Accounting Green Building XML (gbXML) Product Data Markup Language (PDML) Product Definition Exchange (PDX) Electronic Component Information Exchange (ECIX) and Pinnacles Component Information

Standard (PCIS) ECIX QuickData Specifications ECIX Component Information Dictionary Standard (CIDS) ECIX Timing Diagram Markup Language (TDML) XML and Electronic Design Automation (EDA) Encoded Archival Description (EAD) UML eXchange Format (UXF) XML Data Binding Specification Translation Memory eXchange (TMX) P3P Specification: Platform for Privacy Preferences Extensible Name Service (XNS) Dialogue Moves Markup Language (DMML)

XML Introduction

Transparency No. 52

Scripting News in XML InterX.org Initiative Document Encoding and Structuring Specification for Electronic Recipe Transfer (DESSE

RT) NuDoc Technology Coins: Tightly Coupled JavaBeans and XML Elements DMTF Common Information Model (CIM) Universal Plug and Play Forum XML Transition Network Definition (XTND) Process Interchange Format XML (PIF-XML) (XML) Topic Maps DARPA Agent Mark Up Language (DAML) Rule Markup Language (RuleML) Relational-Functional Markup Language (RFML) Ontology and Conceptual Knowledge Markup Languages Information Flow Framework Language (IFF) Simple HTML Ontology Extensions (SHOE) XOL - XML-Based Ontology Exchange Language Description Logics Markup Language (DLML) Case Based Markup Language (CBML) Artificial Intelligence Markup Language (AIML) Physics Markup Language (PhysicsML)

XML Introduction

Transparency No. 53

Procedural Markup Language (PML) QAML - The Q&A Markup Language LACITO Projet Archivage de données linguistiques sonores et textuelles [Linguistic Data

Archiving Project] Geography Markup Language (GML) LandXML Navigation Markup Language (NVML) Extensible Data Format (XDF) Gemini Observatory Project NASA Goddard Astronomical Data Center (ADC) 'Scientific Dataset' XML Extensible Scientific Interchange Language (XSIL) Object Oriented Data Technology (OODT) and XML Astronomical Markup Language Astronomical Instrument Markup Language (AIML) GedML: [GEDCOM] Genealogical Data in XML adXML.org: XML for Advertising Newspaper Association of America (NAA) - Standard for Classified Advertising Data News Industry Text Format (NITF) XMLNews: XMLNews-Story and XMLNews-Meta NewsML and IPTC2000 News Markup Language (NML) Notes Flat File Format (NFF)

XML Introduction

Transparency No. 54

Java Help API Cold Fusion Markup Language (CFML) Document Content Description for XML (DCD) XSchema Document Definition Markup Language (DDML) Character Mapping Markup Language (CharMapML) WEBDAV (IETF 'Extensions for Distributed Authoring and Versioning on the World Wide

Web') DAV Searching and Locating (DASL) Graphic Communications Association - GCA 'Paper' DTD DocBook XML DTD Apache Cocoon JavaDoc Documentation in XML JDox: XML Format for Sun Javadoc XML for Publishers and Printers (XPP) Job Definition Format (JDF) Printing Industry Markup Language (PrintML) PML: Markup Language for Paper and Printing PrintTalk Consortium printcafe eProduction eCommerce eXchange (PCX) IEEE LTSC XML Ad Hoc Group Universal Learning Format Technical Specification

XML Introduction

Transparency No. 55

Educom Instructional Management Systems Project (IMS) Metadata Specification Learning Material Markup Language (LMML) Tutorial Markup Language (TML) International Development Markup Language (IDML) Call Processing Language (CPL) Call Policy Markup Language (CPML) VoiceXML Forum (Voice Extensible Markup Language Forum) VoxML Markup Language Telephony Markup Language (TML) DARPA Communicator Project and XML Log Standard Multilevel Annotation, Tools Engineering (MATE) Computing Environment for Linguistic, Literary, and Anthropological Research (CELLAR) Architecture and Tools for Linguistic Analysis Systems (ATLAS) TalkBank and the Codon XML-Based Annotation Framework ACE Pilot Format DTDs Transcriber - Speech Segmentation and Annotation DTD Natural Language Semantics Markup Language Extensible Telephony Markup Language (XTML) SABLE: A Standard for Text-to-Speech Synthesis Markup Speech Synthesis Markup Language Specification for the Speech Interface Framework Java Speech Markup Language (JSML/JSpeech) SpeechML

XML Introduction

Transparency No. 56

TalkML Project Management XML Schema XML for Workflow Management [NIST] SWAP - Simple Workflow Access Protocol XML-Based Workflow [Process Management] Standard: Wf-XML Exchangeable Routing Language (XRL) Architecture Description Markup Language (ADML) Theological Markup Language (ThML) LitML: A Liturgical Markup Language XML-F ('XML for FAX') XML and Forms XHTML-FML: Forms Markup Language Extensible Forms Description Language (XFDL) XML Forms Architecture (XFA)Electronic Form System (EFS) Broadcast Hypertext Markup Language (BHTML) IEEE Standard DTD Open Settlement Protocol (OSP) - ETSI/TIPHON Directory Services Markup Language (DSML) DIF Directory Interoperability Proposal XML DTD for ACAP - ACAP Data Interchange Format WDDX - Web Distributed Data Exchange XIOP - XML Corba Environment-Specific Inter-ORB Protocol

XML Introduction

Transparency No. 57

XML-RPC Blocks eXtensible eXchange Protocol Framework (BEEP) Layered Object Transport Protocol (LOTP) XML for Exchange of Structure and Identification of Management Information (SMI) WorldOS Business Process Modeling Language (BPML) Business Rules Markup Language (BRML) Common Business Library (CBL) Universal Commerce Language and Protocol (UCLP) VISA XML Invoice Specification First Retail Mark-up Language Open Applications Group - OAGIS Schema for Object-oriented XML (SOX) XMLTP.Org - XML Transfer Protocol The XML Bookmark Exchange Language (XBEL) Simple Object Definition Language (SODL) and XMOP Service Simple Object Access Protocol (SOAP) Universal Description, Discovery, and Integration (UDDI) Web Services Description Language (WSDL) Extensible Provisioning Protocol (EPP) Transaction Authority Markup Language (XAML) XML Encoding Rules for ASN.1 (XER)

XML Introduction

Transparency No. 58

Object-Oriented Programing Meta-Language (OOPML) XML and Music FlowML: A Format for Virtual Orchestras Clinical Data Interchange Standards Consortium National Library of Medicine (NLM) XML Data Formats ISIS European XML/EDI Healthcare Pilot Project (XMLEPR) Open Healthcare Group 'XChart' DocScope: Open Source XML Healthcare Project Health Level Seven XML Patient Record Architecture ASTM XML Document Type Definitions (DTDs) for Health Care The CISTERN Project - Standard XML Templates for Healthcare Template Definition Language (TDL) Human Resource Management Markup Language (HRMML) HR-XML Consortium XML-HR Initiative - Human Resources Rosetta Group XML Résumé Library ECMData - Electronic Component Manufacturer Data Sheet Inventory Specification Bean Markup Language (BML) The Koala Bean Markup Language (KBML) Jigsaw XML Format (JigXML) Chinese XML Now! MOS-X (Media Object Server - XML)

XML Introduction

Transparency No. 59

FLBC (Formal Language for Business Communication) and KQML ISO 12083 XML DTDs Electronic Thesis and Dissertation Markup Language (ETD-ML) Extensible User Interface Language (XUL) The Extensible Bindings Language (XBL) User Interface Markup Language (UIML) Process Specification Language (PSL) and XML Steel Markup Language (SML) Energy Trading Standards Group (ETSG) Petrotechnical Open Software Corporation (POSC) XML Related Projects PetroXML Initiative Partner Interface Process for Energy (PIPE) Marine Trading Markup Language (MTML) Navy CALS Initiatives XML eFirst XML for Scholarly Articles XML DTD for Phone Books Using XML for RFCs Schools Interoperability Framework (SIF) Guideline XML (gXML) Extensible Protocol XML Belief Network File Format (Bayesian Networks)

XML Introduction

Transparency No. 60

Predictive Model Markup Language (PMML) Data Documentation Initiative: A Project of the Social Science Community XML and 'The Semantic Web' XML and Attribute Grammars XML and Databases SODA2 - An XML Semistructured Database System RAX - Record API for XML XML and CORBA Chess Markup Language (ChessML) Mind Reading Markup Language (MRML)

XML Introduction

Transparency No. 61

A sketch of the XML Syntax

XML is a simple data format that balances the needs of people to read/write data with the needs of machines to read/write data.

-- Dan Connolly, W3C

XML Introduction

Transparency No. 62

A sketch of XML Syntax

An example XML document:<?xml version="1.0"?> <note> <to>Wang</to> <from>Chen</from> <heading>Reminder</heading> <body>Don't forget me this

weekend!</body> </note> Notes:1. The XML declaration should always be

included. 2. <note>…</root> is the root element which

has 4 children.

XML Introduction

Transparency No. 63

<!– the structure of the document element -->

<department>

<employee id=“s8931">

<name> 張德治 </name>

</employee>

<employee id=“s9017“ id-no =“L12345678” >

<name> 李大春 </name>

<url href =

"http://www.xml.com.tw/~lee/"/>

</employee>

</department>

XML Introduction

Transparency No. 64

Key terminology

Element Element type (or element name) Start tag End tag [Element] Content

child element character data

Root element [document element]Attribute

Attribute name Attribute value

XML Introduction

Transparency No. 65

<department> start-tag

<employee id=“s8931">

<name> 張德治 </name>

</employee>

<employee id=“s9017“ id-no =“L12345678” >

<name> 李大春 </name>

<url href =

"http://www.xml.com.tw/~lee/"/>

</employee>

</department> end-tag

<!– the structure of the document element -->

[The root or document] element

Element type (or name)

Attributes

attribute valueattribute name

XML Introduction

Transparency No. 66

All XML elements must have an end tag

In HTML some elements do not have to have a closing tag. The following code is legal in HTML:

<p>This is a paragraph <p>This is another paragraph

In XML all elements must have a closing tag like this:

<p>This is a paragraph</p> <p>This is another paragraph</p>

XML Introduction

Transparency No. 67

XML tags are case sensitive

XML tags are case sensitive. The tag <Letter> is different from the tag

<letter>.Opening and closing tags must be written

with the same case: <Message>This is

incorrect</message> <message>This is

correct</message> 

XML Introduction

Transparency No. 68

All XML elements must be properly nested

In HTML some elements can be improperly nested within each other like this:

<b><i>This text is bold and italic</b></i>

In XML all elements must be properly nested within each other like this

<b><i>This text is bold and italic</i></b>

XML Introduction

Transparency No. 69

All XML documents must have a single root[document] element

All XML documents must contain a single root element.

All other elements must be nested within the root element. All elements can have sub (children) elements. Subelements must be in pairs and correctly nested within their parent element:

<root> <child> <subchild>…</subchild>

<subchild>…</subchild></child>…

</root>

XML Introduction

Transparency No. 70

Attribute values must always be quoted

XML elements can have attributes in name/value pairs just like in HTML. In XML the attribute value must always be quoted.

<?xml version="1.0"?> <note date= 12/11/99> <to>Tove</to><from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <!-- not well-formed --><?xml version="1.0"?> <note date="12/11/99"> <to>Tove</to><from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note> <!– well-formed -->

XML Introduction

Transparency No. 71

XML Attributes

normally used to describe XML elements, orto provide additional information about elements. From HTML you can remember this construct:

<IMG SRC="computer.gif">In this HTML example:

SRC is an attribute to the IMG element. he SRC attribute provides additional information about th

e element.

XML Introduction

Transparency No. 72

XML Attributes

Attributes are always contained within the start tag of an element.

HTML examples: <img src="computer.gif"> <a href="demo.asp">

XML examples: <file type="gif"> <person id="3344">

Attributes are usually used to provide information that is not a part of the content of the XML document. I.e. Often attribute data is more important to the XML parser than to the r

eader. in the example above, the person id is a counter value that is irreleva

nt to the reader, but important to software that wants to manipulate the person element. 

XML Introduction

Transparency No. 73

Use of Elements vs. Attributes

Examples:Using an Attribute for sex: <person sex="female"> <firstname>Anna</firstname> <lastname>Smith</lastname> </person> Using an Element for sex: <person> <sex>female</sex> <firstname>Anna</firstname> <lastname>Smith</lastname> </person>

XML Introduction

Transparency No. 74

XML Validation

Well-Formed XML documentsA Well-Formed XML document is a document that c

onforms to the XML syntax rules that we have described .

The following is a Well-Formed XML document:

<?xml version="1.0“ ?> <note> <to>John</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

XML Introduction

Transparency No. 75

Valid XML documents

A Valid XML document is a Well-Formed XML document which conforms to the rules of a Document Type Definition (DTD).

The same Document with an added reference to a DTD:

<?xml version="1.0"?> <!DOCTYPE note SYSTEM "Note.dtd"> <note> <to>Tove</to> <from>Jani</from> <heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

XML Introduction

Transparency No. 76

DTD - Table of Contents

Introduction to DTD An introduction to the XML Document Type Definition.

DTD - XML Building Blocks What XML building blocks are defined in a DTD. DTD Elements How to define the elements of an XML document

using DTD. DTD Attributes How to define the legal attributes of XML elements

using DTD. DTD Entities How to define XML entities using DTD.

XML Introduction

Transparency No. 77

Introduction to DTD

The purpose of a DTD is to define the legal building blocks of an XML document.

It defines the document structure with a list of legal elements.

A DTD can be declared inline in your XML document, or as an external reference.

XML Introduction

Transparency No. 78

Internal DTD

This is an XML document with a Document Type Definition: (Open it in IE5, and select view source)

<?xml version="1.0"?> <!DOCTYPE note [ <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)> ]> <note> <to>Tove</to> <from>Jani</from> <heading>Remind

er</heading> <body>Don't forget me this weekend!</body> </note>

The DTD is interpreted like this:!ELEMENT note (in line 2) defines the element "note" as having four elements: "to,from,heading,body". and so on.....

XML Introduction

Transparency No. 79

External DTD

This is the same XML document with an external DTD:  (Open it in IE5, and select view source)

<?xml version="1.0"?><!DOCTYPE note SYSTEM "note.dtd"><note> <to>Tove</to> <from>Jani</from><heading>Reminder</heading> <body>Don't forget me this weekend!</body> </note>

XML Introduction

Transparency No. 80

note.dtd

This is a copy of the file "note.dtd" containing the Document Type Definition:

<?xml version="1.0"?> <!ELEMENT note (to,from,heading,body)> <!ELEMENT to (#PCDATA)> <!ELEMENT from (#PCDATA)> <!ELEMENT heading (#PCDATA)> <!ELEMENT body (#PCDATA)>

XML Introduction

Transparency No. 81

Why use a DTD?

XML provides an application independent way of sharing data.

With a DTD, independent groups of people can agree to use a common DTD for interchanging data.

Your application can use a standard DTD to verify that data that you receive from the outside world is valid. You can also use a DTD to verify your own data.

A lot of forums are emerging to define standard DTDs for almost everything in the areas of data exchange. Take a look at: CommerceNet's XML exchange and http://www.schema.net.

XML Introduction

Transparency No. 82

DTD - XML building blocks

The building blocks of XML documentsXML documents (and HTML documents) are made

up by the following building blocks: Elements, Tags, Attributes, Entities, PCDATA, and CDATA sections

This is a brief explanation of each of the building blocks:

XML Introduction

Transparency No. 83

Elements

Elements are the main building blocks of both XML and HTML documents.

Examples of HTML elements are "body" and "table". Examples of XML elements could be "note" and "m

essage".Elements can contain text, other elements, or be em

pty.Examples of empty HTML elements are "hr", "br" an

d "img".

XML Introduction

Transparency No. 84

Tags

Tags are used to markup elements.A starting tag like <element_name> mark up the beg

inning of an element, and an ending tag like </element_name>  mark up the en

d of  an element.Examples:

A body element:

<body> body text in between</body>.A message element:

<message> some message in between</message>

XML Introduction

Transparency No. 85

Attributes

Attributes provide extra information about elements.Attributes are placed inside the start tag of an elem

ent.Attributes come in name/value pairs. The following "img" element has an additional infor

mation about a source file:

<img src="computer.gif" />Notes:

The name of the element is "img". The name of the attribute is "src". The value of the attribute is "computer.gif". Since the element itself is empty it is closed by a " /".

XML Introduction

Transparency No. 86

PCDATA

PCDATA means parsed character data.Think of character data as the text found between th

e start tag and the end tag of an XML element.PCDATA is text that will be parsed by a parser.

Tags inside the text will be treated as markup and entities will be expanded, hence they should not appear pcdata. 

Ex: <!ELEMENT section (#PCDATA)><section> abc <em> de </section>

XML Introduction

Transparency No. 87

CDATA sections

CDATA also means character data.CDATA is text that will NOT be parsed by a parser.

Tags inside the text will NOT be treated as markup and entities will not be expanded.

Ex:

<section>abc <![CDATA[ &a; <em>def]]> g</section>

XML Introduction

Transparency No. 88

Entities

Entities are used to define common text like macros. Entity references are references to entities.Most of you will know the HTML entity reference: "&nbsp;"  t

hat is used to insert an extra space in an HTML document. Entities are expanded when a document is parsed by an XML

parser.The following entities are predefined in XML:Entity References Character

&lt; <

&gt; >

&amp; &

&quot; "

&apos; '

XML Introduction

Transparency No. 89

DTD - Elements

Declaring an ElementIn the DTD, XML elements are declared with an elem

ent declaration. An element declaration has the following syntax:

<!ELEMENT element-name (element-content)>

Types of element contents: EMPTY – no contents ANY -- no restriction on contents MIXED -- allow character data (character data only) or (character data + elements) ELEMENTs-ONLY -- allow elements only

XML Introduction

Transparency No. 90

EMPTY elements

Elements with empty contentDeclared with the keyword EMPTY:

<!ELEMENT element-name EMPTY>

Example:<!ELEMENT img EMPTY>

Legal Instances: <img/> <img></img><img> </img>

XML Introduction

Transparency No. 91

ANY Elements

Elements that can contain any combination of elements and text data.

Declared with the ‘ANY’ keyword<!ELEMENT name ANY >Example:<!ELEMENT E1 ANY>Legal instances:

<E1> <E2/> e2 <E3> fff </E3> … </E1> <E1> dddd <E1> <E1/>

XML Introduction

Transparency No. 92

Elements with MIXED contents

Elements that can only contain text contents <!ELEMENT name (#PCDATA)> Elements allowing text as well as element contents <!ELEMENT E0 (#PCDATA | E1 | E2 … )* > Example: <!ELEMENT note (#PCDATA)>

<!ELEMENT em EMPTY> <!ELEMENT e1 (#PCDATA | note | em)* > Instances:

<e1> ddd <em/> cd <note>ttt</note> <em/> </e1>

XML Introduction

Transparency No. 93

Elements that can contains element contents only

Issue: how to declare the possible sequences of content elements occurrences.

Solu: regular expressions over element namesDefinition:CP ::= (name | choice | seq ) (‘+’ | ‘*’ | ‘?’ )?choice ::= a list of two or more CPs separated

by ‘|’ and is enclosed by ‘(‘ and ‘)’.seq ::= a list of one or more CPs seprated by ‘,’ an

d is enclosed by ‘(‘ and ‘)’Element-Only elements:<!ELEMENT name CP – name (‘+’ | ‘*’ | ‘?’ )? >

Illegal : <!ELEMENT e1 e2*>, <!ELEMENT e1 e2> Legal : <!ELEMENT e1 (e2)>,<… (e2+)>, <… (e2)?>

XML Introduction

Transparency No. 94

More examples

<!ELEMENT note (to,from,heading,body)> <!ELEMENT note

(to, from, heading1 | heading2, body)> (X)

<!ELEMENT note (to, from, (heading1 | heading2), body)> (0)<!ELEMENT E1 ( (E1, E2) | (E1, E3, E2)) > (x, 1-ambiguous)Rewritten as

… (E1, (E2 | (E3,E2)))> (0)

XML Introduction

Transparency No. 95

Attribute Definition

Defined for the elements they belong to<!ELEMENT book (preface, toc, chapter+, index?)<!ATTLIST book title CDATA #REQUIRED><!ATTLIST book isbn CDATA #IMPLIED>Or <!ATTLIST book title CDATA #REQUIRED isbn CDATA #IMPLIED >

Format:<!ATTLIST elm-name attr-name attr-type attr-default-value >

Atributes have a name, a type, a default-value and belong to an element.

XML Introduction

Transparency No. 96

Attribute types

type ExplanationCDATA The value is character data(eval|eval|..) The value must be an enumerated valueID The value is an unique id IDREF The value is the id of another elementIDREFS The value is a list of other idsNMTOKENThe value is a valid XML nameNMTOKENS The value is a list of valid XML namesENTITY The value is an entity ENTITIES The value is a list of entitiesNOTATION The value is a name of a notation

XML Introduction

Transparency No. 97

Attribute-default value

Value Explanation“v1” The attribute has a default value

“v1”#REQUIRED The attribute value must be includ

ed in the element#IMPLIED The attribute does not have to be included#FIXED “value”The attribute value is fixed

XML Introduction

Transparency No. 98

Attribute Examples

DTD example: <!ELEMENT square EMPTY> <!ATTLIST square width CDATA "0"> XML example: <square width="100"></square>

Default attribute value Syntax: <!ATTLIST elm-name attribute-name CDATA "default-va

lue"> DTD example: <!ATTLIST payment type CDATA "check"> XML example: <payment type="check"> equ.to. <payment >

XML Introduction

Transparency No. 99

Implied attribute

Syntax: <!ATTLIST elm-name attribute-name

attribute-type #IMPLIED>example:

<!ATTLIST contact fax CDATA #IMPLIED>

instance: <contact fax="555-667788">

XML Introduction

Transparency No. 100

Required attributeSyntax: <!ATTLIST elm-name attr-name attr-type #REQUIRE

D>DTD example: <!ATTLIST person number CDATA #REQUIRED> XML example: <person number="5677"> <person> (x)

XML Introduction

Transparency No. 101

Fixed attribute valueSyntax: <!ATTLIST elm-name attr-name attr-type #FIXED "va

lue">

DTD example: <!ATTLIST sender company CDATA #FIXED "Microsof

t">

XML example: <sender company="Microsoft"> equ.to <sender>

XML Introduction

Transparency No. 102

Enumerated attribute valuesSyntax: <!ATTLIST elm-name attr-name (v1|v2|..) def-valu

e>DTD example: <!ATTLIST payment type (check|cash) "cash"> <!ATTLIST light color (red | green |yellow) #IMPLIED>XML example: <payment type="check"> or <payment type="cas

h"><light color=‘red’> or <light>

XML Introduction

Transparency No. 103

DTD-Entities

Entities used to define shortcuts to common text, like

macros in programming languages. Entity references are references to entities.

If name is an entity [name], then &name; (or %name; but not both) is its reference

Entities can be declared internal ( in the same doc as its doc instance) or external (external to is doc instances)

XML Introduction

Transparency No. 104

Internal Entity Declaration

Syntax: <!ENTITY entity-name "entity-value"> DTD Example:<!ENTITY p1 “Peter"> <!ENTITY birthday “2/12/2000">XML example:<baby>&p1; &birthday;</baby>Equ. To.<baby> Peter 2/12/2000 </baby>

XML Introduction

Transparency No. 105

External Entity Declaration

Syntax: <!ENTITY entity-name SYSTEM "URI/URL"> DTD Example:<!ENTITY writer SYSTEM "http://www.xml101.com/e

ntities/entities.xml"> <!ENTITY copyright SYSTEM "http://www.xml101.c

om/entities/entities.dtd">XML example:<author>&writer;&copyright;</author>


Recommended