XML & UBL

26
XML & UBL ACG 4401 Chapter 2 1

description

ACG 4401 Chapter 2. 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 - PowerPoint PPT Presentation

Transcript of XML & UBL

Page 1: XML & UBL

1

XML & UBLACG 4401 Chapter 2

Page 2: XML & UBL

2

XML Specification 1.0

A language used to create other languages Vocabularies

Describes: Rules and Syntax for Well-Formed and Valid XML Documents

▪ Structuring Documents! Does NOT describe tag names

Page 3: 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 (chapter 2 & Chapter 4) Schema Document .xsd

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

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

(chapter 5)

Page 4: XML & UBL

4

XML Documents

Preferred way of moving data between software applications.

So why not use it to move accounting data?

Page 5: XML & UBL

5

Well Formed vs. Valid

Well Formed documents meet basic rules for XML (chapter 2)

Valid documents Meets rules regarding structure, order

and data-types as described in Schema (chapter 3)

Page 6: XML & UBL

6

XML Components

Tags Meta-data

▪ description of data enclosed within brackets

▪ <> opening

▪ </> 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 Department=“Accounting”>Dr. Hornik</Instructor>

XML does not prescribe Tags to be used Anyone can make up tags <tag> for any purpose as long as XML

document is 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 (case sensitive).

Documents can have empty elements.

▪ <tag/>

Page 8: XML & UBL

XML Rules – A well formed document

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”

▪ attributeName is not included in the closing tag

Page 9: 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"?> UCS Transformation Format—8-bit) is a variable-

width encoding that can represent every character in the Unicode character set.

Comment

<!-- Hello World -->

Page 10: XML & UBL

10

XML Element Types

Hierarchy Child/Simple

▪ Encloses Data▪ <Name>Dr. Hornik</Name>

Parent/Complex▪ Does not enclose data▪ Encloses/Contains other elements

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

▪ </Instructor>

Root Element (special parent element)▪ Encloses All other elements in Instance Document

ParentChild

Page 11: XML & UBL

Well-formed XML

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

Parent elementChild Elements

Page 12: XML & UBL

12

UBLUniversal Business Language

Page 13: XML & UBL

13

UBL

Organization for the Advancement of Structured Information Standards (OASIS)

Complete XML based library of business document

A Dictionary of standard, predefined element names and

A Library of standard, predefined documents Where the elements can appear

Page 14: XML & UBL

14

Order to Invoice Business Process

Page 15: 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 16: XML & UBL

UBL document Rules

Each has a unique Root Element Each has a required ID (child element)

Uniquely Identify document Each has a required IssueDate (child element)

Determine when document is created Optional IssueTime

Each has two Party elements (parent elements)

Provider/Supplier Customer/Buyer

Each has at least one line element (parent element)

CatalogueLine OrderLine

Page 17: XML & UBL

17

UBL Order Rules (Schema)

UBL Schema’s

Page 18: XML & UBL

18

Purchase Order

Compare the non-Vocabulary (homegrown) based PO to the UBL PO

Page 19: XML & UBL

Root Element

UBL defines what the root element name is

<Order> </Order>

Page 20: 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 21: 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 22: XML & UBL

UBL Models

Processes Covered

Page 23: XML & UBL

23

Creating XML Instance Document

In-class/Windows use NotePad Mac use TextWrangler You must use a Text Editor (not a word

processor) 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

Page 24: XML & UBL

24

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 25: XML & UBL

Despatch Advice (Shipping Notice)

Sample Despatch Advice

Page 26: XML & UBL

26

Desptach Advice Rules