390 likes | 465 Views
22 nd XBRL International Conference “Sharing Economic Information in a Global World: the XBRL Contribution” 17-19 May 2011 Brussels, Belgium. Technology Track, Taxonomy Design Issues, Roland Hommes, 2011/05/19. Starters. Your host Parties involved DTS Design settings. Main course.
E N D
22nd XBRL International Conference“Sharing Economic Information in a Global World: the XBRL Contribution”17-19 May 2011Brussels, Belgium Technology Track, Taxonomy Design Issues, Roland Hommes, 2011/05/19
Starters • Your host • Partiesinvolved • DTS Design settings
Maincourse • How to create a DTS? • Meta data and DTS generation • Hierarchical vs. Dimensionalmodeling • Modularisation • Directories, Files, Linkroles • (Typed) dimensions vs. Tuples • Patterns vs. Formula • Extensions • Yearround releases, Errorcorrection • Versioning
Desserts • Whatworksforwhom? • Documentationneeds • Examples and testcases • XBRL PITA’s • Anyleftovers?
Your host • Roland Hommes • Sinceforeverinvolved in data exchange • Since 2005 involved in XBRL • SBR-NL lead architect • Chair IFRS – XBRL QualityReview Team • Co-author of multiple XII specifications • Stillinvolved in VWG, INT-TA and Eurofiling
Partiesinvolved • DTS author (eg. IFRS xbrl-team) • Auditor of the DTS (eg. XQRT) • DTS extender (eg. CEBS/EBA withFinRep) • Reportingextender (eg. commercial banks) • Reporter (eg. branch office of bank) • Intermediarythat handles the mapping (eg. software vendor or accountant)
DTS design settings • Staywithin XII specifications • Syntaxconsistency • Flexibilitytowardsextenders: modularisation • No ambiguity: support single design solutions • EIBTI (Explicit Is BetterThanImplicit) • Limit DTS loading • Transparancy: publish the architecturerules • Follow best practice
How to create a DTS? • The oldway: dissect paper forms and turn the fieldsintoconcepts • Mostlyused: takeexisting XML Schema’s and transformtheir content to XBRL concepts • Better: take the elementsfromexisting schema’s, (re)model the data, create the DTS • Best: built a XBRL export function to the meta data repository
How to create a DTS • Commondenominator: • the information is already present • XBRL syntax is re-keyed • XBRL software is aimed at creation, notmaintenance • Presentation is separatedfrommodeling • Are you managing the DTS or the data?
Meta data • No syntax! • Data element name, definition, type restrictions and relations • Standard maintenance software available • Versioningon element level (plsno SVN!) • Export to multiple syntax • Import from multiple syntax • Relatesalso to databases, services, etc.
Meta data software • User friendly output • Multiple syntax output • Versioning @ concept • Multi language • Multi user • Standard software • Freeware? … no • XML only • XSD structuremostlypredefined • XBRL unknown • Business rulessyntax is problematic • Beware, a lot of them are ETL based Examples: IgniteXML, Orchestranetworks, Collibra, ASG, Topbraid
Meta data + XBRL • We needmodeling • Hierarchicalfornon-dimensional stuff • Dimensionsfortable/cube stuff • XBRL Dimensions is about VALIDATION • Dimensionalmodeling is aboutredundancy • Concept: TurnoverInCarsInAsiaByRobert • Why is the bottomlinenotdataTypes? • Concept: Money • Dimensions: Business, Products, Region, People
TupleorDimension? • Tupleforgrouping, influencing min/maxOccurs and forcingchoices • Dimensionsfor extra semanticson items • Tuple CAN carrysemanticmeaning • XDT CAN influence min/maxOccurs • Combinations are technicallyallowed • What does itmeanwhentuplechildren have different dim/mem combinations?
Examples <AddressTuple> <StreetItem/> <HouseNumberItem/> <PlaceItem/> <CountryItemWithEnum/> </AddressTuple> <AddressTuple> <StreetItemcontextRef=‘dimCountry_memUK’/> <HouseNumberItemcontextRef=‘dimCountry_memUS’/> <PlaceItemcontextRef=‘dimCountry_memUK’/> </AddressTuple> <MovementTuple> <TypeOfPPE_Item/> <GrossCarryingAmount/> <ChangesTuple 0-N/> <TypeOfChangeItem/> <AmountItem/> <DescriptionItem/> <DateOfChangeItem/> </ChangesTuple> </MovementsTuple> <GrossCarryingAmountcontextRef=‘dimPPEType_memTerrain’/> <AmountItemcontextRef=‘dimPPEType_memTerrain dimTypeOfChange_memPurchases’/> <DescriptionItem …/> <DateOfChangeItemcontextRef=‘dimPPEType_memBuilding’ dimTypeOfChange_memPurchases’/>
TupleorTypedDimension? • Suppose I don’tknow the enumeratedvalues? • So, what is wrong with a xbrli:stringItemType concept? • Howaboutextending the enumerationwithunknownvalues? • OK, ever heard of xs:unionyour codelist withstring? • WouldyouallowcomplexType content as the typed element of the dimension? • The onlyneedfortypeddimension is whenit is a detail level of anotherexplicitdimension!
Enumerationor domain? • Concept: Turnover • Enum: Products • Enum: Regions • Enum: People • All combo’s allowed • Actualvalue = fact • 2.1 couldn’t link to enum • Extensibility -+ • NeedTuple • Concept: Turnover • Dom: Products • Dom: Regions • Dom: People • Not all combinationsallowed • Qname = fact • Extensibility ++ • Items canbe root based
Enumerationor domain? • Applicable to manyconcepts? -> domain • Independantconcepts, that is! • Matrix of primary versus value? -> domain • Example (one concept) • Nationality: enumeration of countries • Turnover: domain of countries • Example (manyconcepts) • (not)Consolidated: COULD beenumeration • ValuationMethod commercial/fiscal: domain
Dimensions TupleorDimensionrules • Mismatch prim-dim/mem • Check if all primcarry the necessary dim/mem’s • Extensibility = great • Referencescannotbeonprim/dim/mem • For open environments Tuples All children conform Optional is OK Check multiple occurences of the sameenum type Extensibility = bad Enum is problematic Referencescannotbeontuple/enumValue/child For closed environments
Linkbase orlinkrole? • Both grouprelationships • Linkbases modularize the loading of the DTS • Linkrolescanbeextended • Linkrolescanbe part of presentation • Linkbases canbecalleddirectlyfrominstance • Formula!
xs:element @type • XBRL2.1: (5.1.1.3) MUST bexbrlidefinedorderived • FRTA1.0: (2.2.1) SHOULD beused • Types cannotberemovedbyextender • Type restrictions are supportedby all xsdvalidators • Types canevaluateonlyonefact at the time • Types oftenreflectlimitations of one party • Formulacandistinguishotheraspectsbesidevalues • Formulacanbemodularized to fit the need
@type=stringortokenizedString? • W3C definition of ’xs:string’ allows TAB/CR/LF • W3C definition of ‘xs:token’ no TAB/CR/LF orleading/trailing/multiple whitespace(s) • On abstract items, whocares • Onenumerations, noproblem • Onstringbased items and resources, itmatters
xs:element @nillable • XSD1.0: IS effectiveonelements: default=false • XBRL2.1: (5.1.1) CAN beusedonconcepts • FRTA1.0: (2.1.6) SHOULD be ‘true’ on all concepts • GFM2.0: (1.3.20) MUST be ‘true’ on all elements • SBR: (2.2.2.15-17) MUST be ‘false’ on abstract items and tuples • Only relevant onfactcarryingelements (items) • Must make the meaning of xsi:nill=‘true’ in instancesexplicit • Makeimplicitvalueexplicit?
xs:element @abstract • XSD1.0: IS effectiveonelements: default=false • XBRL2.1: (5.1.1) CAN beusedon all concepts • FRTA1.0: (3.2.5) MAY beusedforpresentationgroup • GFM2.0: (1.3.28) MUST be ‘true’ forLineItems and domains • SBR: (2.2.2.03+04) MUST be ‘false’ iftuple, ‘true’ ifdimensionalartifactorpresentationgroup • Consideration: abstracts in separate file? • Makeimplicitvalueexplicit?
xs:element @periodType • XBRL2.1: (5.1.1.1) MUST beusedon all items • FRTA1.0: (2.2.9) balancenumericvalues MUST be ‘instant’ • GFM2.0: (2.3.12) ONLY onbalancemonetary items MUST be ‘instant’ • SBR: (2.2.2.25) ONLY on non abstract monetary items that are onbalanceoritsderivations MUST be ‘instant’ • Are all durationexceptbalancemonetary items? • Balancederivedmonetary items? • Explanatorynotesonbalance items?
xs:element @balance • XBRL2.1: (5.1.1.2) MAY useonmonetary items • FRTA 1.0: (2.2.3) MUST useonmonetary items • IF asset, liability, equity, revenue, expense • GFM2.0: (2.3.11) MUST useon Statement of financialposition (and monetary item) • SBR: (2.2.2.23+24) MUST use non abstract monetary items • IF balancesheet, profit&loss, cashflow statement • Functionaluse: semanticmeaning of concepts • NetIncome= ‘credit’, +500=profit, -500=loss • Actualuse: in some cases forpresentation • Misconception: negatedvalues are credit • Onlyuseonfinancial statements?
xs:element @default, @fixed ? • @default: defaultvaluefromenumeratedlists • @fixed: fixedvalueonany @type • XBRL2.1, FRTA1.0, GFM2.0: no claims, allowed • SBR: @default = OK, @fixednotallowed • @fixed hampers the re-use of items • @fixed is waste to DTS author, MAY beusefulfor DTS extender
Primaries as domain members? • XDT1.0: (Def11) All conceptsexcept HC and Dim • GFM2.0: (2.3.18) All items with @type = domainItemType • SBR: (2.2.2.19) All abstract items with @substitutionGroup = domainMemberItem • Decide: concept QName as fact and/orline item?
Re-useHypercube item? • HC not in instance • Same HC in multiple linkroleswith different content • Presentation of ‘table’ label maybedifficult • Extensionconsiderations
Re-usableDimensions? • Alternativedimensions • Entrypoint schema’s • Linkbases • xbrli:entity • xbrli:period • Validationthroughformula, not XDT
All and notAll? • ITA members: nouse of notAll • SBR: (2.3.5.05) SHOULD use ‘all’ only • DTS authorsneedonly to express what is allowed • DTS extenders MAY need to prohibit • Canalsocreatetheirowncubes • Reportingextenders MAY need to extend • Beware of @xbrldt:closedvalue
Multiple domain types • Functional domain: ‘ISO-Countries’ • Validation domain: ‘EU-members’ • Primary domain: grouping of primariesinto the dimensionalarray • No distinction in XDT1.0 • No guidelinesfrom GFM • SBR created different substitionGroups
Segment or Scenario? • XDT1.0: MAY useany • GFM2.0: (1.2.4) useonlyone (either) • SBR: (2.3.5.06) use scenario only • Non-XDT: segment is part of entity, scenario is all other breakdowns • Non-XDT: needcustom software forvalidation • Primariescanstillbereportedon root level pointing to empty segment/scenario content!
notAllor @use=‘prohibited’? • Both take the arc out of the valid DRS • Double negative = positive • notAlleffectiveonone HC, @useon all HC’s • GetcreativewithELR’s and @useusage
@order onarcswith resources? • XLink1.0: allowed • XBRL2.1: allowed, butnofunctionspecified • FRTA1.0, GFM2.0: noguidelines • SBR: in discussion • Sameparent, role, lang, child. Different content? • How to deal withpresentation? • Sameparent, role, child, link:parts. Diff content? • Multiple references CAN occur
@idon resources • XII Versioning is addressing resources • Considerreference resource as building blocksthat have a 1:N relationwithconcepts
@idunique in file or DTS? • W3C: @id MUST beunique in a file • XBRL2.1: (5.1.1) SHOULD beplacedonconcepts • FRTA1.0: (2.1.5) MUST beuniqueon all concepts • GFM2.0: (1.3.19) same as FRTA1.0 • SBR: (2.2.2.13) same as FRTA1.0 • @idon segment/scenario/typed dim elements? • @idon resources? • @idonenumeratedvalues?
Presentation linkbase • Howabout ordering of linkroles? • GFM2.0: use <link:definition> content withnumbers at start • SBR: customgeneric linkbase, onlywhen >1 ELR in entrypoint • Howabout ordering of top parents? • Same ELR in multiple linkbases? unique @order! • GFM2.0 (1.6.2), SBR (2.3.4.05) • Sameprimary multiple times as child? use @preferredLabel • GFM2.0 (1.6.5), SBR (2.3.4.06) • P-hierarchy MUST NOT contradicttuple content model • SBR (2.3.4.01) • Allowforextensions?
DTS Errorcorrection • New DTS? • Extendold DTS? • Replaceindividual file? • Dates and versionnumber • In namespaceURI’s, file names, directory names • Versioning information • Release notes, XII Versioning, Deprecated status • DTS reportingvalidity
Getbusy • Q & A ?