DTSContainer

From XBRLWiki
Jump to navigationJump to search

DTSContainer wiki page

Javadoc page

[DTSContainer javadoc page]

Notes

A DTSContainer object is the placeholder for all other objects in the DTS.

How to create an instance of a DTSContainer

There are four ways:

  • By a call to DTSContainer.newEmptyContainer() method [javadoc link]. This is the most commonly used way.
  • By a call to DTSContainer.newEmptyContainer(java.util.Properties) method [javadoc link]. This is used in special cases were the processor requires special initialization. Two properties exists and are documented as constants in the DTSContainer object. Documentation in this wiki will come later.
  • By a call to DTSContainer.newCompatibleContainer(net.sf.saxon.s9api.Processor, java.util.Properties) method [javadoc link]. This is a special case that allows the creation of a DTSContainer reusing the Saxon processor from the application or from another DTSContainer object. The properties parameter may be null or may by the properties of another DTSContainer.
  • By a call to mergeDTSs(com.ihr.xbrl.om.DTSContainer[]) method [javadoc link]. This is another special case that allow the user to merge the result of an array of DTSContainers into a single DTSContainer. Note: the resulting DTSContainer may not be valid in the DTSs to merge contains not compatible elements like a duplicate definition of the same role type.

Remarks

Inside an application the user is free to create as many DTSContainer objects as necessary. The content of each one of the DTSContainers will be separated. Changes in one DTSContainer will not affect the others. Each DTSContainer object contains a new instance of the Saxonica processor. It may be interesting in some applications that all DTSContainers created inside the application were compatible among them (this is for example the case when there are multiple different DTSs for which XhBtRmL templates exists inside the same Transformation Processor).