Inline XBRL Part 3: Transformation Rules Registry 1.0

Definition of Specified Registry for Inline XBRL

Candidate Recommendation 16 November 2009

Copyright ©2009 XBRL International Inc., All Rights Reserved.

This version:
<http://www.xbrl.org/Specification/inlineXBRL-part3/CR-2009-11-16/inlineXBRL-part3-CR-2009-11-16.html>
Editors:
Philip Allen, CoreFiling Limited <plega@corefiling.com>
Ian Stokes-Rees, CoreFiling Limited <ijs@corefiling.com>
Contributor:
Hugh Wallis, XBRL International, Inc. <hughwallis@xbrl.org>

Status

Circulation of this Candidate Recommendation is unrestricted. This document is normative. Other documents may supersede this document. Recipients are invited to submit comments to rendering-feedback@xbrl.org, and to submit notification of any relevant patent rights of which they are aware and provide supporting documentation.

Table of Contents

1 Inline XBRL Transform Function Registry (normative)
1.1 Transform function input type definitions: inlinexbrl-1_0-transformation.xsd
1.2 Transform function registry: transform-registry.xml
1.3 Transform function: ixt-datedoteu.xml
1.4 Transform function: ixt-datedotus.xml
1.5 Transform function: ixt-datelonguk.xml
1.6 Transform function: ixt-datelongus.xml
1.7 Transform function: ixt-dateshortuk.xml
1.8 Transform function: ixt-dateshortus.xml
1.9 Transform function: ixt-dateslasheu.xml
1.10 Transform function: ixt-dateslashus.xml
1.11 Transform function: ixt-numcomma.xml
1.12 Transform function: ixt-numcommadot.xml
1.13 Transform function: ixt-numdash.xml
1.14 Transform function: ixt-numdotcomma.xml
1.15 Transform function: ixt-numspacecomma.xml
1.16 Transform function: ixt-numspacedot.xml

Appendices

A Intellectual property status (non-normative)
B Acknowledgements (non-normative)
C Document history (non-normative)
D Errata corrections in this document


1 Inline XBRL Transform Function Registry (normative)

1.1 Transform function input type definitions: inlinexbrl-1_0-transformation.xsd

<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" targetNamespace="http://www.xbrl.org/2008/inlineXBRL/transformation">
<!-- iXBRL Function Registry I/O Type Definitions The following are used to define the valid content models for the input and output types for the various iXBRL transformation functions. -->
<xs:simpleType name="nonNegativeDecimalType">
<xs:annotation>
<xs:documentation>
As xs:decimal but not negative.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:decimal">
<xs:minInclusive value="0"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numcommaType">
<xs:annotation>
<xs:documentation>
Positive decimal values with a comma for the fraction separator. No spaces, signs, exponentials, or thousands separators accepted. Must have at least one digit before the decimal point, if any. If there is a decimal, then it must be followed by at least one digit.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d+(,\d+)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numcommadotType">
<xs:annotation>
<xs:documentation>
Positive decimal values with a comma for the thousands separator and a dot for the fraction separator. No spaces, signs, or exponentials accepted. Must have at least one digit before the decimal point, if any. If there is a decimal, then it must be followed by at least one digit.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,3}(,\d{3,3})*(\.\d+)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numdashType">
<xs:annotation>
<xs:documentation>
Single dash character used to denote a zero value.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="-"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numdotcommaType">
<xs:annotation>
<xs:documentation>
Positive decimal values with a dot for the thousands separator and a comma for the fraction separator. No spaces, signs, or exponentials accepted. Must have at least one digit before the decimal point, if any. If there is a decimal, then it must be followed by at least one digit.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,3}(.\d{3,3})*(,\d+)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numspacedotType">
<xs:annotation>
<xs:documentation>
Positive decimal values with a single space for the thousands separator and a dot for the fraction separator. No spaces, signs, or exponentials accepted. Must have at least one digit before the decimal point, if any. If there is a decimal, then it must be followed by at least one digit.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,3}( \d{3,3})*(\.\d+)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="numspacecommaType">
<xs:annotation>
<xs:documentation>
Positive decimal values with a single space for the thousands separator and a comma for the fraction separator. No spaces, signs, or exponentials accepted. Must have at least one digit before the decimal point, if any. If there is a decimal, then it must be followed by at least one digit.
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,3}( \d{3,3})*(,\d+)?"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dateslashusType">
<xs:annotation>
<xs:documentation>
Date in format MM/DD/YY(YY). Will also accept single digits for D, M, Y. Does not check for valid day or month. e.g. accepts 02/30/2008 40/40/2008
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,2}/\d{1,2}/(\d|\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dateslasheuType">
<xs:annotation>
<xs:documentation>
Date in format DD/MM/YY(YY). Will also accept single digits for D, M, Y. Does not check for valid day or month. e.g. accepts 30/02/2008 40/40/2008
</xs:documentation>
</xs:annotation>
<xs:restriction base="ixt:dateslashusType"/>
</xs:simpleType>
<xs:simpleType name="datedotusType">
<xs:annotation>
<xs:documentation>
Date in format MM.DD.YY(YY). Will also accept single digits for D, M, Y. Does not check for valid day or month. e.g. accepts 02.30.2008 40.40.2008
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="\d{1,2}\.\d{1,2}\.(\d|\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="datedoteuType">
<xs:annotation>
<xs:documentation>
Date in format DD.MM.YY(YY). Will also accept single digits for D, M, Y. Does not check for valid day or month. e.g. accepts 30.02.2008 40.40.2008
</xs:documentation>
</xs:annotation>
<xs:restriction base="ixt:datedotusType"/>
</xs:simpleType>
<xs:simpleType name="datelongusType">
<xs:annotation>
<xs:documentation>
Date in format Month DD, YY(YY). Will also accept single digits for D. Does not check for valid day or month. e.g. accepts "February 30, 2008" and "March 40, 2008".
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="(January|February|March|April|May|June|July|August|September|October|November|December) (\d|\d{2,2}), (\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="datelongukType">
<xs:annotation>
<xs:documentation>
Date in format DD Month YY(YY). Will also accept single digits for D. Does not check for valid day or month. e.g. accepts "30 February 2008" and "40 March 2008"
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="(\d|\d{2,2}) (January|February|March|April|May|June|July|August|September|October|November|December) (\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dateshortusType">
<xs:annotation>
<xs:documentation>
Date in format Mon DD, YY(YY). Will also accept single digits for D. Does not check for valid day or month. e.g. accepts "Feb 30, 2008" and "Mar 40, 2008".
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="(Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d|\d{2,2}), (\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<xs:simpleType name="dateshortukType">
<xs:annotation>
<xs:documentation>
Date in format DD Mon YY(YY). Will also accept single digits for D. Does not check for valid day or month. e.g. accepts "30 Feb 2008" and "40 Mar 2008"
</xs:documentation>
</xs:annotation>
<xs:restriction base="xs:string">
<xs:whiteSpace value="collapse"/>
<xs:pattern value="(\d|\d{2,2}) (Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec) (\d{2,2}|\d{4,4})"/>
</xs:restriction>
</xs:simpleType>
<!-- XBRL and XSLT QName placeholders The following are empty content elements in order to "hold" the QNames for the iXBRL Function Registry signatures, and corresponding XSLT 2.0 Function definitions. -->
<xs:element name="numcomma">
<xs:complexType/>
</xs:element>
<xs:element name="numcommadot">
<xs:complexType/>
</xs:element>
<xs:element name="numdash">
<xs:complexType/>
</xs:element>
<xs:element name="numdotcomma">
<xs:complexType/>
</xs:element>
<xs:element name="numspacedot">
<xs:complexType/>
</xs:element>
<xs:element name="numspacecomma">
<xs:complexType/>
</xs:element>
<xs:element name="dateslashus">
<xs:complexType/>
</xs:element>
<xs:element name="dateslasheu">
<xs:complexType/>
</xs:element>
<xs:element name="datedotus">
<xs:complexType/>
</xs:element>
<xs:element name="datedoteu">
<xs:complexType/>
</xs:element>
<xs:element name="datelongus">
<xs:complexType/>
</xs:element>
<xs:element name="datelonguk">
<xs:complexType/>
</xs:element>
<xs:element name="dateshortus">
<xs:complexType/>
</xs:element>
<xs:element name="dateshortuk">
<xs:complexType/>
</xs:element>
</xs:schema>

1.2 Transform function registry: transform-registry.xml

<registry xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns="http://xbrl.org/2008/registry" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<name>
Inline XBRL Transform Registry
</name>
<documentation>
<xhtml:p>
This registry contains sample transform declarations for iXBRL
</xhtml:p>
</documentation>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-numcomma.xml"/>
</entry>
<entry>
<added moment="2009-04-03T18:00:00"/>
<status>
IWD
</status>
<url xlink:type="simple" xlink:href="ixt-numdash.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-numcommadot.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-numdotcomma.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-numspacecomma.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-numspacedot.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-dateslashus.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-dateslasheu.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-datedotus.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-datedoteu.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-datelongus.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-dateshortus.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-datelonguk.xml"/>
</entry>
<entry>
<added moment="2008-09-23T20:00:00"/>
<status>
CR
</status>
<url xlink:type="simple" xlink:href="ixt-dateshortuk.xml"/>
</entry>
</registry>

1.3 Transform function: ixt-datedoteu.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats EU-style dot-separated dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:datedoteu">
<input name="input" type="ixt:datedoteuType">
<xhtml:p>
Date in the format DD.MM.(YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xs:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.4 Transform function: ixt-datedotus.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats US-style dot-separated dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:datedotus">
<input name="input" type="ixt:datedotusType">
<xhtml:p>
Date in the format MM.DD.(YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xsd:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.5 Transform function: ixt-datelonguk.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats UK-style long dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:datelonguk">
<input name="input" type="ixt:datelongukType">
<xhtml:p>
Date in the abbreviated month format DD Month (YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xs:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.6 Transform function: ixt-datelongus.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats US-style long dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:datelongus">
<input name="input" type="ixt:datelongusType">
<xhtml:p>
Date in the format Month DD, (YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xsd:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.7 Transform function: ixt-dateshortuk.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats UK-style short dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:dateshortuk">
<input name="input" type="ixt:dateshortukType">
<xhtml:p>
Date in the abbreviated month format DD Mon (YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xs:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.8 Transform function: ixt-dateshortus.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats US-style short dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:dateshortus">
<input name="input" type="ixt:dateshortusType">
<xhtml:p>
Date in the abbreviated month format Mon DD, (YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xs:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.9 Transform function: ixt-dateslasheu.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats EU-style slash-separated dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:dateslasheu">
<input name="input" type="ixt:dateslasheuType">
<xhtml:p>
Date in the format DD/MM/(YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xsd:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.10 Transform function: ixt-dateslashus.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats US-style slash-separated dates into XSD format
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:dateslashus">
<input name="input" type="ixt:dateslashusType">
<xhtml:p>
Date in the format MM/DD/(YY)YY
</xhtml:p>
</input>
<output type="xs:date">
<xhtml:p>
The date in the format xs:date
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.11 Transform function: ixt-numcomma.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats "human readable" numbers using comma (,) as fraction separator into XSD format floating point value.
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:numcomma">
<input name="input" type="ixt:numcommaType">
<xhtml:p>
The numeric value with comma fraction separator.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The numeric value as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.12 Transform function: ixt-numcommadot.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats "human readable" numbers using commas (,) as a thousands separator into XSD format floating point value
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:numcommadot">
<input name="input" type="ixt:numcommadotType">
<xhtml:p>
The numeric value with comma thousands separator.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The numeric value as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.13 Transform function: ixt-numdash.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2009-04-03T18:00:00"/>
<owners>
<reg:owner id="plega">
<reg:name>
Philip Allen
</reg:name>
<reg:affiliation>
CoreFiling
</reg:affiliation>
<reg:email>
plega@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2009-04-03T18:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats accountant-friendly "-" as a zero.
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL IWD 2009-04-03, Section 14
</reference>
<signature name="ixt:numdash">
<input name="input" type="ixt:numdashType">
<xhtml:p>
The dash used to denote nothing.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The value zero as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2009-04-03T18:00:00" by="plega">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.14 Transform function: ixt-numdotcomma.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats "human readable" numbers using dot (.) as a thousands separator and comma (,) as fraction separator into XSD format floating point value
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:numdotcomma">
<input name="input" type="ixt:numdotcommaType">
<xhtml:p>
The numeric value with dot thousands separator and comma fraction separator.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The numeric value as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.15 Transform function: ixt-numspacecomma.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats "human readable" numbers using space (" ") as a thousands separator into XSD format floating point value
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:numspacedot">
<input name="input" type="ixt:numspacedotType">
<xhtml:p>
The numeric value with space thousands separator.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The numeric value as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

1.16 Transform function: ixt-numspacedot.xml

<function xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://xbrl.org/2008/function" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:ix="http://www.xbrl.org/2008/inlineXBRL" xmlns:ixt="http://www.xbrl.org/2008/inlineXBRL/transformation" xmlns:xbrli="http://www.xbrl.org/2003/instance" xmlns:reg="http://xbrl.org/2008/registry" xsi:schemaLocation="http://xbrl.org/2008/registry schemas/registry.xsd http://xbrl.org/2008/function schemas/function.xsd">
<lastUpdated moment="2008-09-23T20:00:00"/>
<owners>
<reg:owner id="ijs">
<reg:name>
Ian Stokes-Rees
</reg:name>
<reg:affiliation>
DecisionSoft/CoreFiling
</reg:affiliation>
<reg:email>
ijs@decisionsoft.com
</reg:email>
<reg:assumedOwnership moment="2008-09-23T20:00:00"/>
</reg:owner>
</owners>
<summary>
Reformats "human readable" numbers using space (" ") as a thousands separator into XSD format floating point value
</summary>
<documentation></documentation>
<reference xlink:type="simple" xlink:href="inlineXBRL/CR-2009-09-28/inlineXBRL-CR-2009-09-28.html#sec-transformationrules">
iXBRL CR 2008-06-30, Section 14
</reference>
<signature name="ixt:numspacedot">
<input name="input" type="ixt:numspacedotType">
<xhtml:p>
The numeric value with space thousands separator.
</xhtml:p>
</input>
<output type="ixt:nonNegativeDecimalType">
<xhtml:p>
The numeric value as an XSD type ixt:nonNegativeDecimalType.
</xhtml:p>
</output>
</signature>
<revisions>
<reg:revision on="2008-09-23T20:00:00" by="ijs">
<xhtml:p>
Defined the transform.
</xhtml:p>
</reg:revision>
</revisions>
</function>

Appendix A Intellectual property status (non-normative)

This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).

This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.

The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (www.xbrl.org/legal).

Appendix B Acknowledgements (non-normative)

This document could not have been written without the contributions of many people including the participants in the Rendering Working Group.

Appendix C Document history (non-normative)

DateAuthorDetails
28 September 2008Philip Allen

Moved from part two.

29 September 2008Philip Allen

Added ixt:nonNegativeDecimalType for numeric transformation outputs.

Incremented revision number.

06 October 2008Hugh Wallis

Editorial for publication as CR2.

24 December 2008Philip Allen

Removed gaap/ae and gaap/pt namespaces from source.

Incremented revision number and reset to WGWD.

20 January 2009Hugh Wallis

Editorial for publication as CR3.

03 April 2009Philip Allen

Added ixt:numdashType.

13 July 2009Philip Allen

Changed the references to "Foo" and "Foobar" in the documentation of certain date transformations which may have been confused for literal string values.

23 September 2009Philip Allen

Set whitespace collapse for all input types.

02 October 2009Hugh Wallis

Editorial for publication as CR5

Updated reference links.

16 November 2009Philip Allen

Changed date to 2009-11-16 and status to DCR in expectation of publication as CR6.

19 November 2009Hugh Wallis

Editorial for publication as CR, approved by the XSB.

Appendix D Errata corrections in this document

This appendix contains a list of the errata that have been incorporated into this document. This represents all those errata corrections that have been approved by the XBRL International Rendering Working Group up to and including 16 November 2009. Hyperlinks to relevant e-mail threads may only be followed by those who have access to the relevant mailing lists. Access to internal XBRL mailing lists is restricted to members of XBRL International Inc.

No errata have been incorporated into this document.