ACG 4401 Chapter 2 1 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) 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 3 Preferred way of moving data between software applications. So why not use it to move accounting data? 4 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) Normally you start with a schema then create an instance document We are learning it backwards 5 Tags Meta-data ▪ description of data enclosed within brackets ▪ adds meaning to the data ▪ <> 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. 6 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). 1. 2. 3. Documents can have empty elements. ▪ <tag/> 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 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 --> Hierarchy Child/Simple ▪ Encloses Data ▪ <Name>Dr. Hornik</Name> Parent/Complex ▪ Does not enclose data ▪ Encloses/Contains other elements Parent ▪ <Instructor> <Name>Dr. Hornik</Name> ▪ </Instructor> Child Root Element (special parent element) ▪ Encloses All other elements in Instance Document 10 C h i l d <tourGuide> <city> <cityName>Belmopan</cityName> E <adminUnit>Cayo</adminUnit> <country>Belize</country> l <population>11100</population> <area>5</area> e <elevation>130</elevation> <longitude>88.44</longitude> m <latitude>17.27</latitude> <description>Belmopan is the capital of Belize</description> e <history>Belmopan was established following the devastation of the former capital ,Belize City, by Hurricane Hattie in 1965. High ground and open space n influenced the choice and ground-breaking began in 1966. By 1970 most government offices and operations had already moved to the new location. t </history> </city> s </tourGuide> Universal Business Language 12 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 13 14 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> Each has a unique Root Element Each has a required ID (child element) Each has a required IssueDate (child element) Determine when document is created Optional IssueTime Each has two Party elements (parent elements) Uniquely Identify document Provider/Supplier Customer/Buyer Each has at least one line element (parent element) CatalogueLine OrderLine UBL Schema’s 17 Compare the non-Vocabulary (homegrown) based PO to the UBL PO 18 UBL defines what the root element name is <Order> </Order> 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? 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> Processes Covered 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 23 Assume Customers place Pizza Order over phone What data is captured with order? Customer ▪ Phone# ▪ Name ▪ Address Order ▪ Items ▪ Delivery/Pickup ▪ Total Amount 24 25