XML & UBL

22
XML & UBL ACG 4401 Chapter 2 1

description

ACG 4401 Chapter 2. XML & UBL. XML. A language used to create other languages Vocabularies Describes: Rules & Syntax For Structuring Documents! Does NOT describe tag names. Well Formed vs. Valid. Well Formed documents meet basic rules for XML (previous slide) Valid - PowerPoint PPT Presentation

Transcript of XML & UBL

Page 1: XML & UBL

1

XML & UBLACG 4401 Chapter 2

Page 2: XML & UBL

2

XML

A language used to create other languages Vocabularies

Describes: Rules & Syntax For Structuring Documents!

Does NOT describe tag names

Page 3: XML & UBL

3

Well Formed vs. Valid

Well Formed documents meet basic rules for XML (previous slide)

Valid Meets rules regarding structure, order

and data-types as described in Schema

Page 4: XML & UBL

4

XML Components

Tags Meta data description of data enclosed

within brackets <>, opening or </> closing Element

Opening tag, data, and Closing tag▪ <instructor>Dr. Hornik</instructor>

Attribute▪ Data that adds meaning to the data adding

meaning to the data ▪ Data describing the tag▪ <Instructor Campus=“Main”>Dr. Hornik</Instructor>

Page 5: XML & UBL

5

XML Element Types

Hierarchy Parent/Complex

▪ Does not enclose data▪ Encloses/Contains other elements

▪ <Instructor> <Name>Dr. Hornik</Name>

▪ </Instructor>

▪ Root Element▪ Encloses All other elements in Instance Document

Child/Simple▪ Encloses Data

▪ <Name>Dr. Hornik</Name>

ParentChild

Page 6: XML & UBL

Extensible Markup Language - XML

Meta-Language A language that can be used to create others

(vocabularies)▪ Universal Business Language (UBL)▪ Extensible Business Reporting Language (XBRL)

Application has sets of xml documents Instance Document .xml

▪ contains the data Schema Document .xsd

▪ Describes allowed structure (data types, element names) of instance document

Stylesheet .xsl▪ Formatting instructions for data in the instance document

All XML documents must be well-formed....

Page 7: XML & UBL

XML Rules – A well formed document

1. The first line of an XML document must contain the prologue.

2. The main theme of the XML document – the root element - must enclose all the other elements in the document. There can be only one root element.

3. Every element must have an opening tag name <> and a closing tag name </> and they must match.

Documents can have empty elements.4. Elements must be properly nested, that is you

close the tag that was opened last – think of tags as using a LIFO convention or more properly a LOFC Last Opened First Closed convention (though it doesn’t have quite the same ring to it).

5. Elements can have attributes. Attributes follow the opening tag name attributeName=“attributeValue”

Page 8: XML & UBL

Prolog and Comment

Every XML document starts with a prolog

It lets the XML enabled processor know that this is an XML document to be processed

<?xml version="1.0" encoding="UTF-8"?>

Comment

<!– Hello World -->

Page 9: XML & UBL

Element Hierarchy

<tourGuide><city>

<cityName>Belmopan</cityName><adminUnit>Cayo</adminUnit><country>Belize</country><population>11100</population><area>5</area><elevation>130</elevation><longitude>88.44</longitude><latitude>17.27</latitude><description>Belmopan is the capital of Belize</description>

<history>Belmopan was established following the devastation of the former capital ,Belize City, by Hurricane Hattie in 1965. High ground and

open space influenced the choice and ground-breaking began in 1966. By 1970 most government offices and operations had already moved to the new location.

</history></city>

</tourGuide>

Root ElementParent Element

Child Elements

Page 10: XML & UBL

Lets look at more xml

Some Twitter files https://twitter.com/statuses/friends/shornik.xml https://twitter.com/statuses/public_timeline.xm

l

Page 11: XML & UBL

11

UBLUniversal Business Langauge

Page 12: XML & UBL

12

UBL

Organization for the Advancement of Structured Information Standards (OASIS)

Complete XML based library of business documents

Page 13: XML & UBL

Reusable Elements

When possible UBL uses the same structure for elements in different documents

PostalAddress can be used in: Catalogue Purchase Order Invoice …

▪ So it has the same structure▪ <StreetName>Main St.</StreetName>

<BuildingNumber>56A</BuildingNumber> <CityName>Newark</CityName> <PostalZone>19716</PostalZone> <CountrySubentityCode>DE</CountrySubentityCode>

▪ <Country> ▪ <IdentificationCode>USA</IdentificationCode>▪ </Country>

Page 14: XML & UBL

UBL document Rules

Each has a unique Root Element Each has a required ID

Uniquely Identify document Each has a required IssueDate

Determine when document is created Optional IssueTime

Each has two Party elements Provider/Supplier Customer/Buyer

Each has at least one line element CatalogueLine OrderLine

Page 15: XML & UBL

15

UBL Order Rules (Schema)

UBL Schema’s

Page 16: XML & UBL

Root Element

UBL defines what the root element name is

<Order> </Order>

Page 17: XML & UBL

Parent Elements Parent elements contain or enclose other

elements Root (<Order> ) Parent of:

<ID> <SalesOrderID> <IssueDate> <IssueTime> <Note> <AccountingCostCode> <AccuntingCost> <BuyerCustomerParty>

▪ <Party>▪ <PartyName>▪ <PostalAddress>

<SellerSupplierParty>▪ <Party>

▪ <PartyName>▪ <PostalAddress>

<OrderLine>▪ What are the Parent elements within this element?

Page 18: XML & UBL

Element Attributes

Attributes are contained within an opening element tag <>

attributeName=“attribute value” Name-pair value

<PriceAmount currencyID="USD">575.55</PriceAmount> <BaseQuantity unitCode="UNIT">1</BaseQuantity>

Page 19: XML & UBL

UBL Models

Processes Covered

Page 20: XML & UBL

Despatch Advice (Shipping Notice)

Sample Despatch Advice

Page 21: XML & UBL

21

Lets Build an XML Document Assume Customers place Pizza Order

over phone What data is captured with order?

Customer▪ Phone#▪ Name▪ Address

Order▪ Items▪ Delivery/Pickup▪ Total Amount

Page 22: XML & UBL

22

Creating XML Instance Document

Will use NotePad You can use any Text Editor XML editor – Exchanger XML Lite (PC

and Mac) Testing XML

Open in Browser (IE, Firefox, Safari??) If it opens it’s well formed If you receive an error message it’s not