Title: Applications of XML
1Applications of XML
2Applications
- domain specific vocabularies
- structured data
- as a complement to HTML
3Applications
- metadata for documents
- improved search engines
- distributed applications
- granular updates to web-pages
4Applications
- round-trip HTML (Microsoft)
- intelligent agents
- structured records
- XML objects
- web-site meta-content
- XML structured query results
5Applications
- GUI for applications
- persistent object storage formats
- interactive parts catalogues
- electronic service manuals
- online process/procedures documentation
- EDI (Electronic Data Interchange - XEDI)
6Benefits
- self-describing
- DOM
- client-side data manipulation
- user-customisable data views
- SAX / XSLT
- middle-tier data servers
- transformation of XML source into arbitrary
target formats
7XML languages
- defined by DTDs (or Schemas)
- data associated with a particular area
- commercial or industrial activity
- technical web markup
- scientific disciplines
- communities of interest
- data exchange
- flexible domain-specific applications
8language consortia
- standard DTD and/or Schema held at a URL
- defined XML namespace (URI)
- development community
- language features
- editing tools
- possibly browsers
- language-aware applications
- user community
9XML and eCommerce
- development of eCommerce
- web presence
- corporate internet
- online ordering
- back-office functionality
- B2B eCommerce
- variety of XML business languages
10Commerce XML
- (CXML www.cxml.org/)
- set of DTDs supporting
- purchase orders
- invoices
- product catalogues
- general B2B transactions
11Commerce XMLCatalog DTD Extract
lt!ELEMENT SupplierPartID (PCDATA)gt lt!-- string
--gt lt!ELEMENT SupplierPartAuxiliaryID
ANYgt lt!-- A unique identification of an
item. SupplierID is not required since
ItemIDs never travel alone. --gt lt!ELEMENT ItemID
(SupplierPartID, SupplierPartAuxiliaryID?)gt
12eCommerce Modelling Language
- (ECML www.ecml.org/)
- supports eCommerce transactions
- implemented in CyberCash, electronic wallet etc.
- consortium includes MicroSoft, VISA, AMEX,
MasterCard, CyberCash, ...
13ECML DTD Extract
lt!ELEMENT Ecom ( PCDATA ShipTo BillTo
ReceiptTo Payment User
Merchant Transaction TransactionComplete )
gt lt!ATTLIST Ecom id ID
IMPLIED ConsumerOrderID CDATA
IMPLIED Merchant CDATA
IMPLIED Processor CDATA
IMPLIED SchemaVersion
"http//ecml2.trade.ietf.arpa" IMPLIED
WalletID CDATA IMPLIED gt
14ECML DTD Extract
lt!ELEMENT ShipTo ( PCDATA Postal Telecom
Online ) gt lt!ATTLIST ShipTo id
ID IMPLIED gt
lt!ELEMENT Postal ( PCDATA Name Company
Street City
StateProv ) gt lt!ATTLIST Postal
id ID IMPLIED
PostalCode NMTOKEN IMPLIED
CountryCode NMTOKEN IMPLIED gt
15Frameworks
- provide broader cross-industry standards for
document exchange formats in XML - templates for marking up data
- templates can be transformed into different XML
formats - established frameworks
- RosettaNet, BizTalk, CommerceOne
16World Wide Web Consortium
- www.w3c.org
- responsible for HTML standards (now XHTML)
- maintain and develop XML standards and
technologies - host XML language development initiatives
17XHTML
- XHTML is the reformulation of HTML 4.0 as an
application of XML (DTD published January 26th
2000) - XHTML is a well-formed version of HTML.
- The elements (tags) and attributes are almost
identical to HTML. - XHTML tags are all lowercase.
- All tags, including empty elements, must be
closed. - Pages written in XHTML recognised by modern
browsers.
18XHTML
- elements must nest properly
- ltfont colorgreengtltpgthellolt/fontgtlt/pgt
- would be rejected
- elements are all lowercase
- all elements must be closed
- ltimg srccabbage.gif /gt
- ltpgt stuff lt/pgt
- no keyword attributes
- lthr noshadenoshade/gt
19Why XHTML?
- Extensibility
- eases the development and integration of new
collections of elements - Portability
- a growing percentage of Internet access is on
palm computers, TVs, fridges, cars, phones, etc.
20Wireless Markup Language WML
- defines web pages for WAP phones and PDAs
- similar to XHTML but different navigation
- WML document is a deck of several cards
- has a scripting language WMLScript based on
ECMAScript - mobile devices interact via WAP gateways with
intranet systems
21ltwmlgt ltcard id "paybill" title "Welcome"gt
ltpgtWelcome to Pay your bill from your cell!
lt/pgt ltpgtEnter the amount
ltinput type "text" name "amount" format
"N"/gt lt/pgt ltdo type"accept" label
"Submit amount"gt ltgo href "pay"/gt
lt/dogt lt/cardgt ltcard id "pay" title
"PAID"gt ltpgtYou have paid (amount). Thank
you! lt/pgt lt/cardgt lt/wmlgt
22Synchronized Multimedia Integration Language
(SMIL)
- allows multiple multimedia sources to interact in
a coordinated way - not possible in HMTL
- SMIL can be browsed using RealPlayer
- can be embedded in a web page using a Java Applet
23ltsmilgt ltheadgt ltlayoutgt ltroot-layout height
"300" width "280" background-color"bbbbee
" title"Example"/gt ltregion id"image1"
width"177" height"230" top"35" left"50"
background-colorred"/gt lt/layoutgt lt/headgt
ltbodygt ltseqgt ltpargt ltimg src"book1.jpg"
region "image1" /gt ltaudio
src"bounce.au" dur".5s"/gt lt/pargt
lt/seqgt lt/bodygt lt/smilgt
24Extensible 3D LanguageX3D
- Extension of VRML using XML
- joint specification by Web3D consortium and w3c
25ltX3Dgt ltHeadergt ltmeta name'myrocket'
content'rockt.xml'/gt ltmeta name'desc'
content'simpleexample'/gt lt/Headergt ltScenegt
ltNavigationInfo type '"EXAMINE"
"ANY"'/gt ltViewpoint descriptionD' position'0 0
6'/gt ltShapegt ltappearancegtltAppearancegtltmateri
algt ltMaterial diffuseColor '0 0.75
1'/gt lt/materialgtlt/Appearancegtlt/appearancegt
ltgeometrygt ltCylinder radius '0.4'
height '2'/gt lt/geometrygt lt/Shapegt
lt/Scenegt lt/X3Dgt
26MathML
- MathML is an application of XML
- low-level specification for describing
mathematics - basis for machine-machine communication
- provides a foundation for the inclusion of
mathematical expressions in Web pages
27MathML
- facilitates the use mathematical content
- on the Web
- computer algebra systems
- print typesetting
- voice synthesis
- applets and plug-ins available now
- translators and equation editors availabe
- w3c Amaya browser embeds in IE5 and Netscape
Navigator 6
28MathML
29MathML
30lthtmlgt lt!-- Calculus expression written in MathML
--gt ltbodygt ltmathgt ltmrowgt ltmsubsupgt
ltmogtIntegrallt/mogt ltmngt0lt/mngt
ltmrowgt ltmngt1lt/mngt
ltmogt-lt/mogt ltmigtxlt/migt
lt/mrowgt lt/msubsupgt
31 ltmsqrtgt ltmrowgt ltmngt4lt/mngt
ltmogtInvisibleTimeslt/mogt
ltmsupgt ltmigtxlt/migt
ltmngt2lt/mngt lt/msupgt
ltmogtlt/mogt ltmigtylt/migt
lt/mrowgt lt/msqrtgt ltmogtdeltalt/mogt
ltmigtxlt/migt lt/mrowgt lt/mathgtlt/bodygtlt/htmlgt
32Chemical Mark-up Language CML
- represents molecular and chemical information
- Jumbo browser renders molecules in a 3D format
- ChiMeraL browser for CML provides various
visualisation tools including 3D rotation
33ltCmolecule id "Ammonia"gt ltCatomArray
builtin "elsym"gt N H H H
lt/CatomArraygt ltCatomArray builtin "x2"
type "float"gt 1.5 0.0 1.5 3.0
lt/CatomArraygt ltCatomArray builtin "y2"
type "float"gt 1.5 1.5 0.0 1.5
lt/CatomArraygt ltCbondArray builtin "atid1"gt
1 1 1 lt/CbondArraygt ltCbondArray builtin
"atid2"gt 2 3 4 lt/CbondArraygt
ltCbondArray builtin "order" type"integer"gt
1 1 1 lt/CbondArraygt lt/Cmoleculegt
34Other Mark-Up Languages
- EcoKnowMICS ML
- for describing, sharing, and presenting economic
data on the Web - MusicML
- encodes music
- GML - Geography Mark-up Language
- for describing geographical information in GIS
applications - and many, many more ..