280 likes | 424 Views
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
E N D
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 • 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)
XML • A language used to create other languages • Vocabularies • Describes: • Rules & • Syntax • For Structuring Documents! • Does NOT describe tag names
XML Specification 1.0 • Describes data objects known as • Computer processable item containing data and instructions • XML Documents • Instance, Schema, etc. • Describes rules and syntax for Well-Formed and Valid XML Documents
XML Documents • Preferred way of moving data between software applications. • So why not use it to move accounting data?
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)
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.
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 Parent Child
XML Rules – A well formed document • The first line of an XML document must contain the prologue. • 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. • 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/>
XML Rules – A well formed document • 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). • Elements can have attributes. • Attributes follow the opening tag name • attributeName=“attributeValue” • attributeName is not included in the closing tag
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 -->
Well-formed XML Root element <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> Parent element Child Elements
UBL Universal Business Language
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
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>
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
UBL Order Rules (Schema) • UBL Schema’s
Purchase Order • Compare the non-Vocabulary (homegrown) based PO to the UBL PO
Root Element • UBL defines what the root element name is • <Order> • </Order>
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?
Element Attributes • Attributes are contained within an opening element tag <> • attributeName=“attribute value” • Name-pair value • <PriceAmountcurrencyID="USD">575.55</PriceAmount> • <BaseQuantityunitCode="UNIT">1</BaseQuantity>
UBL Models Processes Covered
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
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
Despatch Advice (Shipping Notice) • Sample Despatch Advice