Types of Template

www.altova.com Print this Topic Previous Page Up One Level Next page

Home >  SPS File and XBRL > XBRL Templates >

Types of Template

XBRL templates are of the following types:

 

Presentation link template

Blue, 'P'

XBRLPresentationLinkTemplate

Concept template

Green, 'C'

XBRLConceptTemplate

XBRL object template

Green

XBRLObjectTemplateTag

Item template

Brown, 'i'

XBRLItemTemplate

Aspect value template

Brown, italic

XBRLAspectValueTemplate

XML node template

Brown, 'XML'

XBRLXMLNode

 

Schema node templates are brown and have a normal (non-italic) typeface.

 

XBRL SPS designs are created using a combination of XBRL templates (described on this page and the rest of this section, XBRL tables, XBRL charts, and other SPS features (such as Auto-Calculations and Conditions)).

 

Presentation link templates

Presentation link templates are created when you drag a presentation link from the Schema Tree into the design and create it as an XBRL template. The name of the presentation link appears in the template tags. The screenshot below shows a presentation link template that has been created for the Minitax Statement presentation link.

 

XBRLObjectTemplates

 

The presentation link template selects the presentation link as its context. Template contents can then be defined within this context. It is mainly used for schema tree synchronization when selecting a concept template.

 

Concept templates

Concept templates are created when you drag a concept from the Schema Tree into the design and create the concept as an XBRL template. The concept is created as a closed mode Concept template, and the concept's name appears in the template tags. You can switch to open mode by selecting Template Behavior | Open Mode in the template's context menu.

 

XBRLConceptTemplatesOpenClosed

 

A Concept template is created empty. You need to place an Item template within it to return facts related to the selected concept. The aspect value template, Concept QName, returns the concept's QName.

 

 

XBRL object templates

These are templates of certain XBRL elements (Periods, Identifiers, Units, and non-dimensional segments and scenarios) that are created as XBRL objects. If the template is specified to be in open mode, the XBRL object returns all the elements of the selected type (for example, all Periods; the screenshot below shows an open-mode XBRL object template). If the template is specified to be in closed mode, the XBRL object returns a specific element of the selected type (for example, one Period from among all Periods). To switch the behavior between open and closed modes, select the template, and, in the template's context menu (accessed by right-clicking the template), hover over the Template Behavior command and select the mode you want. See the section Open, Closed, and Classic Modes for details.

 

XBRLObjectTemplates

 

To insert an XBRL object template, right-click in the location where you wish to insert the template. Then hover over the Insert XBRL Element menu item. From the submenu that appears, select the XBRL element you wish to add as the XBRL object template.

 

The important point to note is that these templates each reference a specific XBRL object—and not an XML node. This means that, being an object rather an XML node, there will be no context node for XPath expressions created within the object. Mechanisms that require a context node, such as the contents placeholder, therefore will not be resolved. To access the XML node corresponding to the XBRL object, insert the XML Node template (see below) within the XBRL object. Alternatively, Altova XBRL extension functions can be used in XPath expressions to access the required nodes.

 

To display information within an XBRL object template, use one of the following design mechanisms:

 

An aspect value template (see below) that accesses a specific aspect of the XBRL component that was created as an XBRL object.
An XML Node template (see below) that references the containing XBRL object as an XML node and allows XPath expressions to be used in this node's context.

 

Item templates

An Item template iterates over all XBRL facts that satisfy the constraints defined by the enclosing XBRL templates. See the Item template section for details.

 

Aspect value templates

An aspect value template references a specification-defined value of the XBRL aspect represented by the containing XBRL object. To add an aspect value template, right-click within an XBRL object template (see above), hover over the Insert XBRL Element menu item, and, from the submenu that appears, select an aspect of the current XBRL component.

 

XBRLObjectTemplates

 

The screenshot above shows an aspect value template for the Instant value of the Period aspect. It is created within the XBRL Period template.

 

XML Node templates

An XML Node template references its nearest ancestor XBRL object as an XML node. This XML node will be the context node for XPath expressions created within the XML Node template. To add an XML Node template, right-click in the location where you wish to insert the template. Then hover over the Insert XBRL Element menu item. From the submenu that appears, select XML Node.

 

XBRLXMLNodeTemplate

 

The screenshot above shows an XML Node template that has been created within the XBRL object template of the Period component.

 

Note:Not all XBRL templates can contain an XML Node template. For example, a Concept template cannot, since there is no XML node for a concept in teh instance.

 


© 2019 Altova GmbH