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 & Syntax For Structuring Documents! Does NOT describe tag names 3 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) 4 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 Campus=“Main”>Dr. Hornik</Instructor> 5 Hierarchy Parent/Complex ▪ Does not enclose data ▪ Encloses/Contains other elements Parent ▪ <Instructor> <Name>Dr. Hornik</Name> ▪ </Instructor> Child ▪ Root Element ▪ Encloses All other elements in Instance Document Child/Simple ▪ Encloses Data ▪ <Name>Dr. Hornik</Name> 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. 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 --> 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 11 Organization for the Advancement of Structured Information Standards (OASIS) Complete XML based library of business documents 12 13 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 Each has a required IssueDate Determine when document is created Optional IssueTime Each has two Party elements Uniquely Identify document Provider/Supplier Customer/Buyer Each has at least one line element CatalogueLine OrderLine UBL Schema’s 16 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 Sample Despatch Advice 22 Assume Customers place Pizza Order over phone What data is captured with order? Customer ▪ Phone# ▪ Name ▪ Address Order ▪ Items ▪ Delivery/Pickup ▪ Total Amount 23 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 24