390 likes | 480 Views
Advanced Accounting Information Systems. Day 31 XML Language Foundation November 6, 2009. Announcements. Quiz 6 Return midterm exams XBRL assignment due today Sign up for graduate student presentations Monday, December 7 or Wednesday, December 9th. Objectives.
E N D
Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009
Announcements Quiz 6 Return midterm exams XBRL assignment due today Sign up for graduate student presentations Monday, December 7 or Wednesday, December 9th
Objectives Introduce XML Schema language in a non-technical manner along with two other XML languages necessary for understanding UBL and XBRL – XML Namespaces and Xlink Why learn XML Schema language? Introduction to how XML vocabularies work Introduce concept and purpose of XML schema documents Understand the potential for reusable data components and their role in e-business documents
Questions for today What is the purpose of the XML schema language? Distinguish between Namespaces and XLink
Markup • What if we start adding metadata to this piece of accounting data? • First, mark it up with a name representing an accounting concept: • <AssetsCurrent>131974000</AssetsCurrent>
Markup • To fully understand this piece of data, we need to add more context information: • First, which taxonomy is this accounting concept defined in? • <us-gaap:AssetsCurrent>131974000</us-gaap: AssetsCurrent>
Markup • We of course need more context information to fully understand this piece of data • Second, what reporting context applies to this item? • < us-gaap:AssetsCurrent contextRef=“AsOfNov302008”> • Third, since this is a monetary item, what currency and precision applies? • unitRef=“usd” decimals=“-3”
Markup • Putting it all together we have: • <us-gaap:AssetsCurrent contextRef=“AsOfNov302008” unitRef=“usd” decimals=“-3”>131974000</us-gaap: AssetsCurrent> • a piece of marked up “information” in XBRL format that can be understood by a human or a software application
XBRL • XBRL taxonomies: • Agreed upon names/definitions for accounting & reporting “concepts” • Standardized = Understandable, Comparable, Efficient, Reusable, … • XBRL instance documents: • Report facts tagged with agreed upon concept names
An Instance Doc & its DTS How this Element relates to other Elements XBRL Taxonomy (dictionary of Elements representing Concepts) How this Element is calculated XBRL Instance Document How this Element should be presented in a std. rpt. What labels are used for this Element • Each XBRL instance is linked to at least one XBRL taxonomy • Which in turn is linked to “linkbases” • The DTS – discoverable taxonomy suite • We can precisely answer the question: What does this number, 131974000, mean? What is the definition & authoritative reference for this Element
Key terms XML language foundation Family of languages for processing and validating XML documents and for creating other specifications/vocabularies, such as UBL and XBRL, which extend the XML family of technologies for specific purposes. XML Schema language Key part of the foundation since it is used to specify the structure and contents of XML documents All specifications that extend the XML family, including UBL and XBRL, are formally expressed using the XML Schema language Complex language
UBL and XBRL vocabulary UBL Consists of a number of XML schemas defining elements and attributes (such as ID, IssueDate, Party, PostalAddress, and Item) to be used in UBL documents (such as Catalogue, Order, Receipt Advice, Despatch Advice, and Invoice) XBRL Number of XML schemas defining elements and attributes used for financial reporting, the structure of XBRL documents and a host of financial reporting taxonomies
Each XML Vocabulary Created for a specific purpose Has its own XML namespace with which it can be identified (i.e., unique identifer referred to as a URI (Universal Resource Identifier) ) URI – Can be a local name or a URL Universal Resource Locator Namespaces Should be human readable and comptuer processable
Two basic elements in XML documents Simple elements Contains a data value and no attributes ID, IssueDate, Name, StreetName Complex elements Contains other elements nested within it and /or attributes ProviderParty, ReceiverParty, Party, PartyName, PostalAddress
Practice In Figure 2.3 (OrderExampleSimple), what type of element (simple or complex) is each of the following? Country Price Item LineExtensionAmount
UBL Language Made up of many schemas We will discuss two UBL schemas Common aggregate components Common basic components Each schema defines UBL reusable data components – XML elements that are defined once and then reused over and over again in various UBL documents Since elements and attributes from each schema appear in XML documents, it is important to identify the namespace from which each element comes – ProviderParty – cac:ProviderParty Cac – Common Aggregate Components Each namespace has its own ‘preferred prefix’ with which it is identified – cac , cbc Namespace is a short-hand way to identify the URI of a namespace
Namespace Declarations Needed in XML document to identify the namespaces that ‘support’ the document Since elements from different namespaces are used in this document, each must be identified with a namespace definition Namespaces Necessary to specifically identify the namespace and schema in which an element is defined to avoid naming collisions in XML documents mlns Reserved key word in XML language with which to declare a namespace and the root element is where this is done Heavily used in UBL and XBRL documents
Namespace Declarations Practice Looking at Figure 3.1 UBL Catalogue with namespaces, how can each namespace declaration be interpreted as? Xmlns = “UBLCatalogueDocument” Xmlns:cbc = “UBL CommonBasicComponents” Xmlns:cac = “UBL CommonAggregateComponents”
Creating UBL document schema Relatively simple because it adheres to the following pattern Declare appropriate namespaces and qualifiers in the schema root element Import the necessary schemas with import elements’ Define the root element with a name, a complexType, and a sequence indicator if appropriate and reference (ref) the appropriate reusable data component elements from other UBL schemas
Practice Using XML Schema Language, how wouldyou define each of the following two elements appearing in an instance document? <AccountantName> Super Cy Clone </AccountantName> <AccountantFee units = “USD”>10000</AccountantFee>
Practice Looking at UBL Catalogue and UBL Common Aggregate Components schema side by side, What are the child elements of the cac:CatalogueLine element? What are the child elements of the cac:item element?
Why learn UBL and its XML Schemas? Introduce concept and purpose of XML schema documents Potential of standardized reusable data components Role in e-business documents
Validating XML Documents Allows one to document for obvious errors such as missing or inappropriate data, and to make sure it follows the business rules specified in its schema such as an acceptable customer and billing address XML document validation Complex and occurs on many different levels Validating software applications are not all created equally Most validation processing will assure that XML document is complete and properly structured according to the document schema With appropriate data types in the data fields Follows specified business rules Not all XML processors are capable of validation http://tools.decisionsoft.com/schemaValidate/
Practice Validate UBL Catalogue document and UBL Catalogue document schema using DecisionSoft XML Schema Validator
Simple Linking Linking ability of HTML as seen in Webpages Unidirectional from a source document to a target document Works well for web pages but is inadequate for linking multiple documents and describing the relationships between documents or elements within documents
XML Linking Language (XLink) Provides a method for using attributes to establish multi-directional relationships between elements in XML documents
XBRL use of Xlink language Simple links to footnotes necessary to properly understand an accounting item Extended links to describe the relationship between multiple items More details in chapter 4
XML Foundation and XBRL XBRL is built on XML foundation – see figure 3.11 XML foundation Specifies basic set of rules that all XML documents must follow and the rules for the creation of languages like XML Schema, Namespaces, and Xlink These languages are used for processing XML documents and for creation of XML vocabularies XBRL taxonomies specify sets of elements and attributes to be used for specific financial reporting purposes Written in XML Schema Language XBRL linkbases Specify sets of relationships necessary for understanding accounting and financial reporting concepts such as Assets, Liabilities, and Equities Written in Xlink Language XBRL instance documents Business reports that follow the rules specified in the XBRL 2.1 Specification and use elements defined in XBRL taxonomies
Summary Several XML languages form the foundation for validating and processing XML documents and building XML vocabularies such as UBL and XBRL XML Schema language XML schema documents XML Namespaces XML Linking Language Basic understanding of XML foundation languages is necessary for understanding XBRL instance documents and taxonomies
Glossary of New Terms Cardinality Complex elements Empty elements Extended linking Namespace declaration Primitive data type Reusable data components Schema document Simple elements Simple liking Valid XML document XML namespace XML Schema language XML vocabulary
Questions for Monday What is the relationship between XML language and XBRL?