xml an introduction

39
XML Introduction design.interpretive Page 1 XML An Introduction February 27th 2001 brian thompson design.interpretive Nortel Networks

Upload: paki-peters

Post on 30-Dec-2015

28 views

Category:

Documents


1 download

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 Presentation

TRANSCRIPT

Page 1: XML An Introduction

XML Introductiondesign.interpretive

Page 1

XMLAn Introduction

February 27th 2001

brian thompson

design.interpretive

Nortel Networks

Page 2: XML An Introduction

XML Introductiondesign.interpretive

Page 2

XML Adoption

Page 3: XML An Introduction

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)

Page 4: XML An Introduction

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

Page 5: XML An Introduction

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

Page 6: XML An Introduction

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

Page 7: XML An Introduction

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

Page 8: XML An Introduction

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)

Page 9: XML An Introduction

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

Page 10: XML An Introduction

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

Page 11: XML An Introduction

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

Page 12: XML An Introduction

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)

Page 13: XML An Introduction

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>

Page 14: XML An Introduction

XML Introductiondesign.interpretive

Page 14

XSL

Page 15: XML An Introduction

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>...

Page 16: XML An Introduction

XML Introductiondesign.interpretive

Page 16

XSLT

Page 17: XML An Introduction

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>

Page 18: XML An Introduction

XML Introductiondesign.interpretive

Page 18

Xlink

Page 19: XML An Introduction

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

Page 20: XML An Introduction

XML Introductiondesign.interpretive

Page 20

Xpath example - PO

Page 21: XML An Introduction

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

Page 22: XML An Introduction

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>

Page 23: XML An Introduction

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

Page 24: XML An Introduction

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

Page 25: XML An Introduction

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: $(&#59:)<br/>Enter Name: <input type=“text” name=“N” />

</p></card></wml>

Page 26: XML An Introduction

XML Introductiondesign.interpretive

Page 26

WML

WML allows for content to accessed from a low bandwidth (14.4kb) wireless device

Page 27: XML An Introduction

XML Introductiondesign.interpretive

Page 27

RosettaNet

Technology Supply Chain Integration

Provides a methodology for building interchange solutions

Page 28: XML An Introduction

XML Introductiondesign.interpretive

Page 28

RosettaNet

Every partner speaks the same language

Page 29: XML An Introduction

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>

Page 30: XML An Introduction

XML Introductiondesign.interpretive

Page 30

SVG example – Moscow Network

Zoom in and out without loss of detail

Add or remove elements to filter image

Page 31: XML An Introduction

XML Introductiondesign.interpretive

Page 31

SVG example – Tiger Zoom

Graphic can be sent to any device

Page 32: XML An Introduction

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>

Page 33: XML An Introduction

XML Introductiondesign.interpretive

Page 33

ICE example

The subscriber is authorized toreceive content based on a micro-transaction or subscription

Page 34: XML An Introduction

XML Introductiondesign.interpretive

Page 34

XML Routing Hardware

Page 35: XML An Introduction

XML Introductiondesign.interpretive

Page 35

February 27th 2001

brian thompson

design.interpretive

Nortel Networks

XMLDesigning with XML

Page 36: XML An Introduction

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

Page 37: XML An Introduction

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?

Page 38: XML An Introduction

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?

Page 39: XML An Introduction

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