Download - Advanced Accounting Information Systems
Advanced Accounting Information Systems
Advanced Accounting Information Systems
Day 31
XML Language FoundationNovember 6, 2009
AnnouncementsAnnouncements
– Quiz 6– Return midterm exams– XBRL assignment due today – Sign up for graduate student presentations
Monday, December 7 or Wednesday, December 9th
ObjectivesObjectives
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 todayQuestions for today
What is the purpose of the XML schema language?
Distinguish between Namespaces and XLink
Accounting “data”Accounting “data”
MarkupMarkup
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>
MarkupMarkup
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>
MarkupMarkup
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”
MarkupMarkup
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
Accounting InformationAccounting Information
XBRLXBRL
• 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 DTSAn Instance Doc & its DTS
• 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?
XBRL InstanceDocument
XBRL Taxonomy(dictionary ofElements representingConcepts)
How thisElementrelates tootherElements
How thisElementiscalculated
How thisElementshould bepresented in a std. rpt.
Whatlabels areused for thisElement
What is thedefinition &authoritativereference forthis Element
The XML Foundation and XBRLThe XML Foundation and XBRL
Key terms 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 vocabularyUBL 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 VocabularyEach 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 documentsTwo 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
PracticePractice
– In Figure 2.3 (OrderExampleSimple), what type of element (simple or complex) is each of the following?
• Country• Price• Item• LineExtensionAmount
UBL LanguageUBL 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 DeclarationsNamespace 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 PracticeNamespace 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”
The UBL Catalogue Schema DocumentThe UBL Catalogue Schema Document
Creating UBL document schemaCreating 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
The UBL Common Basic Components SchemaThe UBL Common Basic Components Schema
PracticePractice
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>
The UBL Common Aggregate Components SchemaThe UBL Common Aggregate Components Schema
PracticePractice
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?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 DocumentsValidating 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/
Validating XML DocumentsValidating XML Documents
PracticePractice
Validate UBL Catalogue document and UBL Catalogue document schema using DecisionSoft XML Schema Validator
Simple LinkingSimple 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)XML Linking Language (XLink)
– Provides a method for using attributes to establish multi-directional relationships between elements in XML documents
XBRL use of Xlink languageXBRL 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 XBRLXML 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
The XML Foundation and XBRLThe XML Foundation and XBRL
SummarySummary
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 TermsGlossary 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 MondayQuestions for Monday
What is the relationship between XML language and XBRL?