220 likes | 376 Views
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
E N D
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 • Meets rules regarding structure, order and data-types as described in Schema
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>
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> Parent Child
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....
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. • Documents can have empty elements. • 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”
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 -->
Parent Element Root Element 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 movedto the new location. </history> </city> </tourGuide> Child Elements
Lets look at more xml • Some Twitter files • https://twitter.com/statuses/friends/shornik.xml • https://twitter.com/statuses/public_timeline.xml
UBL Universal Business Langauge
UBL • Organization for the Advancement of Structured Information Standards (OASIS) • Complete XML based library of business documents
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 • 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
UBL Order Rules (Schema) • UBL Schema’s
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
Despatch Advice (Shipping Notice) • Sample Despatch Advice
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
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