Sei sulla pagina 1di 51

XML

OVERVIEW
What is XML? Extensible Markup Language Many pieces in the XML puzzle Very fast moving First back to basics.

Xlink

XPointer HTM L

XSLT
XQuery

XML

XML Schem a

SOA P

Name space

HOW THE INTERNET WORKS.

Get me that text file OK here it is Web Clients (Browser)

Web Server

HYPERTEXT MARK-UP LANGUAGE


<h1>Here is the title</h1> <p>This is a piece of <b>Text</b> </p> A formatting language Browser knows how to interpret the tags.

WHAT IS EXTENSIBLE MARKUP LANGUAGE?


NOT a markup language Meta-markup Language Set of very simple rules XML provides a uniform method for describing and exchanging structured data Describes structure and semantics, not formatting

Meta Language

1. Use letters of alphabet. 2. Spaces between words. 3. Read from left to write. ..

French

English

German

..

XML Specification

1. Tags must not overlap 2. Tags case-sensitive 3. Must have root tag

SVG

WML

MathML

..

THE XML RULES.


1. 2. 3. 4.

5.
6.

Single, unique root element Matching open/close tags Consistent capitalisation Correctly nested elements (no overlapping elements) Attribute values enclosed in quotes No repeating attributes in an element

<?xml version=1.0?> <company id=4859>


<name>3Months.com</name> <type>Web Development</type> <address>
<street>Wakefield st</street> <city>Wellington</city> <country>New Zealand</country>

</address>

</company>

Well Formed

HEALTHCARE DATATYPES

<person>

<person.name>

Ms. Susan Samantha Jones Jr.

<family>Jones</family> <given>Susan</given> <middle>Samantha</middle> <suffix>Jr.</suffix> <prefix>Ms.</prefix>

</person.name> <id type=SSN>000-112233</id>

HEALTHCARE DATATYPES

<patient>

<person.name> </person.name> <id authority=New England Medical Center>000112233</id>

</patient> <provider>

<person.name><family>Smith</family><given>Amanda</given><pre fix>Dr.</prefix></person.name>

</provider>

HEALTHCARE SCHEMA

XML IN HAKIM

There is a Lesion with Erythematic active edge

12

XML IN HAKIM

Behind the scene is XML (Extensible Markup


Language)

Tagging is applied to content. (coded content)

13

XML IN PRACTICE
XML 3 ()FBS . FBS Cholesterol .
Tag Tag Attribute .

<List> <patient>Ahmad Alavi that is the first son of Mohammad gholi <Admission> <Date>1389/03/02</Date> <FBS>123</FBS> </Admission>

<Admission> </Admission> </Patient> </List>

HISTORY OF XML
Standard Generalised Markup Language Been around since early 90s XML is a sub-set of SGML (SGML-lite) XML has smaller and simpler syntax SGMLs development provides the foundation for XML XML is therefore not bleeding edge

WHY XML IS SO POWERFUL


Provides international, vendor independent standard for describing information Any information structured or unstructured

XML HTTP TCP/IP

XML MARKUP LANGUAGES/VOCABULARIES Remember XML is a meta-language Anybody can create their own language Why would you want to? Each language designed for a specific purpose.

MATHEMATICAL MARKUP LANGUAGE (MATHML)


x2 + 4x + 4 =0
<apply><plus/> <apply><power/> <ci>x</ci> <cn>2</cn> </apply> <apply> <times/> <cn>4</cn> <ci>x</ci> </apply> <cn>4</cn> </apply>

SYNCHRONIZED MULTIMEDIA INTEGRATION LANGUAGE (SMIL)


<DIV CLASS=time t:timeline=seq> <P class=time t:dur=1> This appears for one second and goes away </P> <P class=time t:dur=1> This appears after one second, remains visible for one second and goes away </P> <P class=time t:dur=1> This appears after two seconds, remains visible for one second and goes away </P> </DIV>

VECTOR MARKUP LANGUAGE


<v:shape style=top: 0; left: 0; width: 250; height: 250 stroke=true strokecolor=red strokeweight=2 fill=true fillcolor=green coordorigin=0 0 coordsize=175 175> <v:path v=m 8,65 l 72,65,92,11,112,65,174,65,122,100,142,155,92,121,42,155, 60,100 x e/> </v:shape>

WIRELESS MARKUP LANGUAGE


<wml> <!-- root element --> <card id="card1" title="Example 1"> <p> <!-- a card can only contain P blocks or DO blocks --> <do type="accept" label="go to card 2"> <go href="#card2"/></do> This is the first card. </p> </card> <card id="card2" title="Example 1"> <p> This is the second card. </p> </card> </wml>

HYPERTEXT MARKUP LANGUAGE (HTML)


<h1>The Title</h1> <p>This is a piece of <b>HTML </b> </p>
Or

is it?? Next version of HTML = XHTML

XML SCHEMAS AND DTDS


XML is about communication Need to speak the same language Schemas/DTDs describe the vocabulary of the language i.e. what tags are used and how they can be organised Schemas will replace DTDs

AN EXAMPLE SCHEMA
<?xml version="1.0" encoding="UTF-8"?> <PressRelease> <Title>Studend Loan Problems</Title>

<Date>20/7/01</Date>
<Content>Bla Bla Bla</Content> </PressRelease>

<?xml version="1.0" encoding="UTF-8"?> <xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified"> <xsd:element name="PressRelease"> <xsd:complexType> <xsd:sequence> <xsd:element name="Title" type="xsd:string"/> <xsd:element name="Date" type="xsd:date"/> <xsd:element name="Content" type="xsd:string"/> <xsd:element name="Author" type="xsd:string" minOccurs="0"/> </xsd:sequence> </xsd:complexType> </xsd:element> </xsd:schema>

INTRODUCING XSL-T
Extensible Stylesheet Language Standard ratified this year by W3C Way of transforming an XML document into another document

TRANSFORMATION

XSLT document Text

XML document

XSLT Processor

HTML

XML

XML IN ACTION A CASE STUDY

AGENDA
Case study background Choosing a DTD/Schema Creating XML the options Storing XML the options Presenting XML the options Solution Benefits Demo

CASE STUDY BACKGROUND

October 2001 won contract to redevelop E-government website (www.e-government.govt.nz) Business requirements

Usual stuff (accessible, usable etc) Guidelines compliant (squeaky clean)

Content must be made available in a standard HTML format. Where information is provided in a proprietary format an alternative HTML version must also be made available. Cant just put it up as a PDF anymore

Simple publishing process Future-proofed Limited budget Tight timeframe

Constraints

TRADITIONAL OPTIONS

Static site
Did

not give simple publishing process for unskilled people

Content Management System


Store

information in RDBMS Not good for document centric applications Cost, timeframe, simple workflow requirements

The challenge
To

create a system that allows non-technical authors to publish to guidelines compliant HTML (and eventually other formats)

The solution
XML

CHOOSING A DTD/SCHEMA
Make up your own Dont reinvent the wheel! Xml.org We selected a subset of DocBook

Could

handle all the information we needed to

store Supported by a growing number of products

NZETC uses TEI

CREATING XML THE OPTIONS

Use an XML editor


E.g.

XML Spy, Xmetal, Framemaker etc Allow you to create a document that conforms to a specified DTD/Schema Problem: everybody potentially an author

Convert Word documents to XML


Styles

XSL-T for convertion

HTML
(Internet)

Word
(using Styles)

DocBook XML

eBook

Word is authoritative source

Anything you want!!

XCON DEMO

STORING XML THE OPTIONS


Relational database Native XML Repository

E.g.

Excelon, Tamino, Ipedo, Xindice First generation products At the time too immature/expensive

On the file system

PRESENTING XML THE OPTIONS


Publishing to humans Need to transform XML to a format appropriate for humans Physical print out of scope HTML obvious choice XSL-T to transform XML to HTML Not the only way to present to humans

SMIL, SVG, MathML etc Audience must have software

What about publishing Raw XML?

Organisation A Website
XML document HTML document

Organisation B Website

Organisation C Website
XML document

HTML document

DEMO

HEALTHCARE SCHEMA

HEALTHCARE DATATYPES

<person>

<person.name>

<family>Jones</family> <given>Susan</given> <given>Samantha</given> <suffix>Jr.</suffix> <prefix>Ms.</prefix>

</person.name> <id type=SSN>000-11-2233</id>

HEALTHCARE DATATYPES

<patient>

<person.name> </person.name> <id authority=New England Medical Center>000112233</id>

</patient> <provider>

<person.name><family>Smith</family><given>Amanda</given><pre fix>Dr.</prefix></person.name>

</provider>

ACTORS

<service.actor>
<person.name></person.name>
<id>xxx</id> <type.code>Attending</type.code>

<function>Surgeon</function>

</service.actor>

ENCOUNTER

<encounter>
<patient></patient>
<provider></provider> <date.time></date.time>

<location>

</location> <encounter.id></encounter.id>

</encounter>

ISSUES
Simplicity - easier than paper Reliability Security Overcome Inertia

FORMS LANGUAGE
Transform into XHTML, WML etc. Simple enough that M.D.s can design forms Layout performed by XSLT Customize to site by defaults.xml

FORM GENERATION
XML + XSLT => XHTML

Form.xml

Formgen.xsl

Defaults.xml

WORKFLOW
Form created Transform into ASTM XML format XHTML editing (opnote-edit.xsl) Sign finished product Render as XHTML for viewing, printing email to Medical Records and Billing

WORKFLOW

generate Billing/EDI

edit

sign

repository

SUMMARY

The XML Specification = Meta-language for describing XML Mark-up languages XML Schemas (and DTDs) describe the structure of a particular XML Mark-up language XSL-T documents transform XML document into another format (HTML, XML etc)

Potrebbero piacerti anche