Wednesday, June 22, 2011

About PFXBRL

PFXBRL is a "convenience format" to ease the creation and human-readability of XBRL instance facts.

Its formal name, "Palmer Figurative XBRL", contains the term "figurative" to emphasize the use of figurative tokens like "Q:::", "P:::", "M:::", "X:::", "V:::" for QName, period, measure, explicitDimension and xml text "value" respectively. The benefit of using such syntax is that anything marked up will have the text of its contents visually prominent in contrast to the figurative tokens.

The PFXBRL syntax for each of these figurative tokens is sparse  - and usually amounts to one or two unlabelled values - delimited by either  " ===== " or  "..."

Example of adding a scheme and identifier globally to a page:

I:::http://www.sec.gov/CIK ===== 0000000000

Example all-in-one PFXBRL entry using the "---.---" record delimiter"

Q:::px:RevenueNet---.---P:::2010-12-31---.---M:::iso4217:USD---.---
X:::px:RegionAxis ===== px:EuropeanRegion---.---V:::77,000,000 ===== -6

PFXBRL has a page processing engine that scans any HTML page for these PFXBRL "events". The PBXBRL is entered as normal HTML and is enclosed in any HTML tag with class="pfxbrl" or in a hyperlink as done for the above example. At minimum the page processor outputs a PFXBRL audit summary and displays equivalent XBRL instance XML.


The following is the above in XBRL syntax formatted as an XML fragment  - generated from previous PFXBRL by scanning this page:

<context id="CTX-1"><entity><identifier scheme='http://www.sec.gov/CIK'>0000000000</identifier><segment><xbrldi:explicitMember dimension='px:RegionAxis'>px:EuropeanRegion</xbrldi:explicitMember></segment></entity><period><instant>2010-12-31</instant></period></context>

<unit id="UNT-1"><measure>iso4217:USD</measure></unit>
 
<px:RevenueNet contextRef="CTX-1" unitRef="UNT-1" decimals="-6" id="id-1" >77000000</px:RevenueNet>

Other uses for PFXBRL are
  • documentation by annotating existing XBRL reports and source files 
  • a convenient non-XML representation for input to formula processing 
  • displaying composite XBRL structures (using additional PFXBRL tokens)
  • processing HTML pages also containing embedded XBRL as Inline XBRL or normal XML. 
  • xbrl training
PBXBRL is in version 0.7 - and is available for beta-test project participants.