xml an introduction
DESCRIPTION
XML An Introduction. February 27th 2001 brian thompson design.interpretive Nortel Networks. XML Adoption. XML Alphabet Soup. What is XML?. e X tensible. M arkup. L anguage. Extensible Unlike HTML, XML provides the tools to create new markup vocabularies or extend existing ones Markup - PowerPoint PPT PresentationTRANSCRIPT
XML Introductiondesign.interpretive
Page 1
XMLAn Introduction
February 27th 2001
brian thompson
design.interpretive
Nortel Networks
XML Introductiondesign.interpretive
Page 2
XML Adoption
XML Introductiondesign.interpretive
Page 3
XML Alphabet SoupACORD - XML for the Insurance Industry
European XML/EDI Pilot Project Open Applications Group - OAGIS Using XML for RFCs
adXML.org: XML for Advertising Extensible Business Reporting Language (XBRL)
Open Catalog Protocol (OCP) vCard Electronic Business Card
aecXML Working Group - Architecture, Engineering and Construction
Extensible Financial Reporting Markup Language (XFRML)
Open Content Syndication (OCS) Vector Markup Language (VML)
Alexandria Digital Library Project Extensible Forms Description Language (XFDL)
Open eBook Initiative Virtual Hyperglossary (VHG)
ALURe (Aggregation and Logging of User Requests) XML Specification
Extensible Protocol Open Financial Exchange (OFX/OFE) VISA XML Invoice Specification
ANSI ASC X12/XML and DISA Extensible Rights Markup Language (XrML)
Open Settlement Protocol (OSP) - ETSI/TIPHON
VoiceXML Forum (Voice Extensible Markup Language Forum)
Apache XML Project Extensible Scientific Interchange Language (XSIL)
Open Software Description Format (OSD)
VoxML Markup Language
Artificial Intelligence Markup Language (AIML)
Extensible Telephony Markup Language (XTML)
OpenMath Standard W3C Document Object Model (DOM), Level 1 Specification
ASTM XML Document Type Definitions (DTDs) for Health Care
Extensible User Interface Language (XUL)
OpenMLS - Real Estate DTD Design W3C Scalable Vector Graphics (SVG)
Astronomical Instrument Markup Language (AIML)
Financial Products Markup Language (FpML)
OpenTag Markup W3C Specifications Documentation
Astronomical Markup Language FinXML - 'The Digital Language for Capital Markets'
OpenTravel Alliance (OTA) WAP Wireless Markup Language Specification
ATLA Serials Project (ATLAS) FIXML - A Markup Language for the FIX Application Message Layer
P3P Syntax Specification: Platform for Privacy Preferences
WDDX - Web Distributed Data Exchange
Bank Internet Payment System (BIPS)
FLBC (Formal Language for Business Communication) and KQML
Petrotechnical Open Software Corporation (POSC) XML Related Projects
Weather Observation Definition Format (OMF)
Bean Markup Language (BML) FlowML: A Format for Virtual Orchestras
PetroXML Initiative Web Collections using XML
BiblioML - XML for UNIMARC Bibliographic Records
GedML: [GEDCOM] Genealogical Data in XML
Portable Site Information (PSI) Web Interface Definition Language (WIDL)
Bioinformatic Sequence Markup Language (BSML)
Gene Expression Markup Language (GEML)
Portal Markup Language (PML) Web Standards Project (WSP)
BIOpolymer Markup Language (BIOML)
Georgia State University Electronic Court Filing Project
Precision Graphics Markup Language (PGML)
WebBroker: Distributed Object Communication on the Web
BizCodes Initiative Graphic Communications Association - GCA 'Paper' DTD
Predictive Model Markup Language (PMML)
WEBDAV (IETF 'Extensions for Distributed Authoring and Versioning on the World Wide Web')
BizTalk Framework Guideline XML (gXML) Procedural Markup Language (PML) X-ACT - XML Active Content Technologies Council
Broadcast Hypertext Markup Language (BHTML)
Health Level Seven XML Patient Record Architecture
Process Interchange Format XML (PIF-XML)
XCES: Corpus Encoding Standard for XML
Business Rules Markup Language (BRML)
HR-XML Consortium Process Specification Language (PSL) and XML
XHTML-FML: Forms Markup Language
Call Policy Markup Language (CPML)
HTML Threading - Use of HTML in Email
Product Data Markup Language (PDML) XLF (Extensible Log Format) Initiative
Call Processing Language (CPL) HTTP Distribution and Replication Protocol (DRP)
Product Definition Exchange (PDX) XML and CORBA
Capability Card: An Attribute Certificate in XML
Human Resource Management Markup Language (HRMML)
Project Management XML Schema XML and Forms
Case Based Markup Language iCalendar XML DTD QAML - The Q&A Markup Language XML and Music CDIF XML-Based Transfer Format IEEE LTSC XML Ad Hoc Group RDF Rich Site Summary (RSS) XML and VRML (Virtual Reality
Modeling Language) - X3D Channel Definition Format, CDF (Based on XML)
IEEE Standard DTD Real Estate Transaction Markup Language (RETML)
XML Belief Network File Format (Bayesian Networks)
XML Introductiondesign.interpretive
Page 4
What is XML?
ExtensibleUnlike HTML, XML provides the tools to create new markup vocabularies or extend existing ones
MarkupDescriptive markup scheme based on generic identifiers used to assign names to logical units of content
LanguageThe grammar to be used in describing document structures where documents are any form of human communication
eXtensibleMarkupLanguage
XML Introductiondesign.interpretive
Page 5
XML adapts with change
Limited Access / Limited Use Wide and Variable Access
Stable Organizational Boundaries Variable Organizational Boundaries
Rigid Processes Multiple Dynamic Processes
Tight Control Limited Control
Limited Flexibility Infinite Flexibility
Closed Systems Open Systems
Fixed System Variable System
XML Introductiondesign.interpretive
Page 6
XMLAn XML Document can take the form of self-documented Data Structure
<?XML version=“1.0” encoding=“UTF-8” standalone=“yes” ?><!DOCTYPE invoice [<!ELEMENT invoice (to, from, po, amount) ><!ELEMENT to (#PCDATA) ><!ELEMENT from (#PCDATA) ><!ELEMENT po (#PCDATA) ><!ELEMENT amount (#PCDATA) ><!ATTLIST amount
currency (USD,CA, EURO) #REQUIRED > ]>
<invoice><to>Packet Components</to><from>Switches Unlimited</from><po>KN00123A-2000</po><amount currency=“USD”>14,599.00</amount></invoice>
govern
Declared Structural Rules
DocumentContent
XML Introductiondesign.interpretive
Page 7
XML and SGML
XML
SGMLSGML(1986): Standard Generalized Markup Language
DSSSL
HyTime
CALS Tables& FOSI
HTML
XML(1998): Extensible Markup Language
XSL
XLink
XSLT
XPath Namespaces
XML SchemaXHTML
XPointer
“XML is asimplified subset
of SGMLspecially designed
for Web Applications”Jon Bosak, Father of XML
Sun Microsystems
XML Introductiondesign.interpretive
Page 8
The XML Universe
SGML(1986): Standard Generalized Markup Language
XSL(Display)
XSLT(Transform)
Namespaces(Classify)
XML Schema(Describe)
XHTML
XLink(Relate)
XPointer(Address)
XPath(Address)
Semantic Web: XML Foundation
XML(1998): Extensible Markup Language
Markup Languages: Vocabularies
MathML SMIL SVG WMLVoiceML
RosettaNet
HL7
BizTalk
ebXML
OFX
XMI
XQuery(Address)
XML Introductiondesign.interpretive
Page 9
XML Declaration
<?XML version=“1.0” encoding=“UTF-8” standalone=“no” ?>
XML version UCS Transformation Format
Processing Instruction
UCS - Universal Character Set
XML Introductiondesign.interpretive
Page 10
Document Type DeclarationGrammar for a class of documents
<!DOCTYPE TESTSUITE SYSTEM "testcases.dtd" [ ]>
Document Type Declaration
Document Type External Subset
<!ELEMENT TESTSUITE (TESTCASES+)><!ATTLIST TESTSUITE PROFILE CDATA #IMPLIED ><!ELEMENT TESTCASES (TEST|TESTCASES)*><!ATTLIST TESTCASES PROFILE CDATA #IMPLIED ><!ELEMENT TEST (#PCDATA | EM | B)*><!ATTLIST TEST URI CDATA #REQUIRED ID ID #REQUIRED TYPE (valid|invalid|not-wf|error) #REQUIRED >
Internal Subset
XML Introductiondesign.interpretive
Page 11
DTDfor a Class ofDocuments
DocumentInstance
<!ELEMENT TESTSUITE (TESTCASES+)><!ATTLIST TESTSUITE PROFILE CDATA #IMPLIED ><!ELEMENT TESTCASES (TEST|TESTCASES)*><!ATTLIST TESTCASES PROFILE CDATA #IMPLIED ><!ELEMENT TEST (#PCDATA | EM | B)*><!ATTLIST TEST URI CDATA #REQUIRED ID ID #REQUIRED TYPE (valid|invalid|not-wf|error) #REQUIRED >
<?xml version="1.0"?><!DOCTYPE TESTSUITE SYSTEM "testcases.dtd" [ ]><TESTSUITE PROFILE="OASIS Conformance Tests, v1.0"><TESTCASES PROFILE="Sun Microsystems XML Tests"><TEST URI "valid/dtd00.xml" ID="dtd00" TYPE="valid"> Tests parsing of alternative forms of text-only mixed content declaration.</TEST></TESTCASES></TESTSUITE>
Document Type DefinitionsRules that govern a class of documents
Governs
testcases.dtd
testcase1a.xml
XML Introductiondesign.interpretive
Page 12
The XML FamilyXML Implementation Components
XSL(Display)
XSLT(Transform)
Namespaces(Classify)
XML Schema(Describe)
XLink(Relate)
Semantic Web: XML Foundation
XML(1998): Extensible Markup Language
Application
Core Functions
Retrieval Services
Enhanced Naming
Basic Grammar
XPointer(Address)
XPath(Address)
XQuery(Address)
XML Introductiondesign.interpretive
Page 13
XSLXML Implementation Components
Extensible Stylesheet Language (XSL)
Example: W3C XSL Spec
<xsl:template match="name"><p style="font-size : smaller; margin-top : 0; margin-bottom: 0"> <a target="summary"> <xsl:attribute name="href"> <xsl:value-of select="@xlink:href"/> </xsl:attribute> <xsl:value-of select="@xlink:title"/> </a></p></xsl:template>
XML Introductiondesign.interpretive
Page 14
XSL
XML Introductiondesign.interpretive
Page 15
XSLTXML Implementation Components
XSL Transformations (XSLT)
<xsl:template match="facepage"><xsl:if test="/toc/@language[.='en']">
<p class="toc_contents">CONTENTS</p><p class="toc_date"><xsl:value-of select="@day-name"/>,<xsl:value-of select="@month"/><xsl:value-of select="@day"/>,<xsl:value-of select="@year"/> </p>...
XML Introductiondesign.interpretive
Page 16
XSLT
XML Introductiondesign.interpretive
Page 17
XLinkXML Implementation Components
XML Linking Language (XLink)
<my:crossReference xmlns:my="http://example.com/" xmlns:xlink="http://www.w3.org/1999/xlink" xlink:type="simple" xlink:href="students.xml" xlink:title="Student List" xlink:actuate="onRequest">Current List of Students</my:crossReference>
XML Introductiondesign.interpretive
Page 18
Xlink
XML Introductiondesign.interpretive
Page 19
XPathXML Implementation Components
XML Path Language (XPath)
child::* selects all element children of the context node
child::para[position()=last()] selects the last para child of the context node
child::para[position()=last()-1] selects the last but one para child of the context node
XML Introductiondesign.interpretive
Page 20
Xpath example - PO
XML Introductiondesign.interpretive
Page 21
XQueryXML Implementation Components
XML Query language
string-range(//title,”Yuri Rubinsky")[17]
Returns the 17th occurrence of “Yuri Rubinsky” within a Title Element
XML Introductiondesign.interpretive
Page 22
XML SchemaXML Implementation Components
XML Schema (Structures and Datatypes)
<ElementType name = "primaryKey" content = "eltOnly" order = "seq"> <AttributeType name = "name" dt:type = "string" required = "yes"/> <AttributeType name = "linkName" dt:type = "id" required = "yes"/> <AttributeType name = "enabled" dt:type = "enumeration" dt:values = "yes no" required = "yes"/> <attribute type = "name"/> <attribute type = "linkName"/> <attribute type = "enabled"/> <element type = "columnLink" minOccurs = "1" maxOccurs = "*"/></ElementType>
XML Introductiondesign.interpretive
Page 23
NamespacesXML Implementation Components
XML Namespaces
<x xmlns:edi='http://ecommerce.org/schema'><edi:price units='Euro'>32.18</edi:price></x>
The namespace for the element price is http://ecommerce.org/schema
XML Introductiondesign.interpretive
Page 24
VoiceXML
Voice Extensible Markup LanguageDesigned for creating audio dialogs with synthesized speech
and speech recognition
Web enabling interactive voice response applications
<?XML version=“1.0”?><vxml version=“1.0”><form><field name=“drink”><prompt>Coffee or Tea?</prompt> <grammar src=“drink.gram” type=“application/x-jsqf”/></field><block><submit next=“http://www.drink.com” /></block></form></vxml>
VoiceXML InterpreterContext
Interpreter
Platform
Server
XML Introductiondesign.interpretive
Page 25
WML
Wireless Markup Language
<?XML version=“1.0”?><wml><card id=“abc” ordered=“true”><p><do type=“accept”><go href=“http://www.xyz.org” /></do>
X: $(X)<br/>Y: $(;:)<br/>Enter Name: <input type=“text” name=“N” />
</p></card></wml>
XML Introductiondesign.interpretive
Page 26
WML
WML allows for content to accessed from a low bandwidth (14.4kb) wireless device
XML Introductiondesign.interpretive
Page 27
RosettaNet
Technology Supply Chain Integration
Provides a methodology for building interchange solutions
XML Introductiondesign.interpretive
Page 28
RosettaNet
Every partner speaks the same language
XML Introductiondesign.interpretive
Page 29
SVG
Scalable Vector Graphics
A language for describing 2-dimensional graphics in XML(vector graphic shapes, graphics animation, images and text (XML))
<?xml version="1.0" standalone="no"?><!DOCTYPE svg SYSTEM "http://www.w3.org/TR/2000/CR-SVG-20001102/DTD/svg-20001102.dtd"><svg width="5cm" height="5cm"> <desc>Two groups, each of two rectangles</desc> <g id="group1" style="fill:red"> <rect x="1cm" y="1cm" width="1cm" height="1cm" /> <rect x="3cm" y="1cm" width="1cm" height="1cm" /> </g></svg>
XML Introductiondesign.interpretive
Page 30
SVG example – Moscow Network
Zoom in and out without loss of detail
Add or remove elements to filter image
XML Introductiondesign.interpretive
Page 31
SVG example – Tiger Zoom
Graphic can be sent to any device
XML Introductiondesign.interpretive
Page 32
ICE
Information and Content Exchange(ICE)Creates a common language and protocol for the automatic exchange of content assets
Integrating web assets from the perspective of users:Individual and corporate consumersSyndication Service Providers (Web Superstores)Content Developers and Owners
Designed around a set of specific transactions were content is either sold, resold or licensed.
<ice-response request-id="1998-07-05T02:03:[email protected]" > <ice-code numeric="200" phrase="OK" message-id="1998-08-11T12:34:[email protected]" ></ice-code> </ice-response>
XML Introductiondesign.interpretive
Page 33
ICE example
The subscriber is authorized toreceive content based on a micro-transaction or subscription
XML Introductiondesign.interpretive
Page 34
XML Routing Hardware
XML Introductiondesign.interpretive
Page 35
February 27th 2001
brian thompson
design.interpretive
Nortel Networks
XMLDesigning with XML
XML Introductiondesign.interpretive
Page 36
Language and XML
Languages:
Encode meaning
Transmit through a context
Are decoded at the other end
XML: Explicitly declares meaning
Can be altered in transmission
Can be understood by people and machines
XML Introductiondesign.interpretive
Page 37
Designing with XML and XSL
Pairing the content with the filter creates opportunity
What collection of content gives the best opportunities for interpretation?
What collection of features produces the most dynamic mix?
What interplay of XML documents reveals opportunities?
How many ways can you look at the various combinations?
Using multiple channels, how can you make the experience more profound?
XML Introductiondesign.interpretive
Page 38
Designing with XML and XLink
What associations might the active element have?
How do you show multiple associations?
What possible resources can you group together?
What if people are part of the matrix of resources?
What do combinations of the same resources produce?
Does the active element become changed through transmission?
XML Introductiondesign.interpretive
Page 39
Finding out more about XML
Short tutorials on XML, XSL, DTD… http://www.w3schools.com/
Web pages using XML http://www.xmltree.com/
Scalable Vector Graphics http://www.adobe.com/svg/viewer/install/main.html
Preside Web Framework: XML and SVG Standardshttp://lbeaudoi-1/WebFramework/WFW_05.htm
XML and the Second-Generation Webhttp://www.sciam.com/1999/0599issue/0599bosak.html
XML W3C Definitionhttp://www.w3.org/XML/
XML based routing hardwarehttp://www-us-east.intel.com/netstructure/products/xml
_7210.htm