advanced accounting information systems day 31 xml language foundation november 6, 2009

39
Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Upload: silvester-perry

Post on 04-Jan-2016

217 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Advanced Accounting Information Systems

Advanced Accounting Information Systems

Day 31

XML Language FoundationNovember 6, 2009

Page 2: Advanced Accounting Information Systems Day 31 XML Language Foundation November 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

Page 3: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 4: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Questions for todayQuestions for today

What is the purpose of the XML schema language?

Distinguish between Namespaces and XLink

Page 5: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Accounting “data”Accounting “data”

Page 6: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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>

Page 7: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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>

Page 8: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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”

Page 9: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 10: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Accounting InformationAccounting Information

Page 11: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 12: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 13: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

The XML Foundation and XBRLThe XML Foundation and XBRL

Page 14: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 15: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 16: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 17: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 18: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

PracticePractice

– In Figure 2.3 (OrderExampleSimple), what type of element (simple or complex) is each of the following?

• Country• Price• Item• LineExtensionAmount

Page 19: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 20: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 21: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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”

Page 22: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

The UBL Catalogue Schema DocumentThe UBL Catalogue Schema Document

Page 23: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 24: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

The UBL Common Basic Components SchemaThe UBL Common Basic Components Schema

Page 25: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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>

Page 26: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

The UBL Common Aggregate Components SchemaThe UBL Common Aggregate Components Schema

Page 27: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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?

Page 28: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 29: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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/

Page 30: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Validating XML DocumentsValidating XML Documents

Page 31: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

PracticePractice

Validate UBL Catalogue document and UBL Catalogue document schema using DecisionSoft XML Schema Validator

Page 32: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 33: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

XML Linking Language (XLink)XML Linking Language (XLink)

– Provides a method for using attributes to establish multi-directional relationships between elements in XML documents

Page 34: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 35: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 36: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

The XML Foundation and XBRLThe XML Foundation and XBRL

Page 37: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 38: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

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

Page 39: Advanced Accounting Information Systems Day 31 XML Language Foundation November 6, 2009

Questions for MondayQuestions for Monday

What is the relationship between XML language and XBRL?