DTSContainer: Difference between revisions
From XBRLWiki
Jump to navigationJump to search
Line 18: | Line 18: | ||
* By a call to <tt>DTSContainer.newEmptyContainer(java.util.Properties)</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#newEmptyContainer(java.util.Properties) 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 <tt>DTSContainer.newEmptyContainer(java.util.Properties)</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#newEmptyContainer(java.util.Properties) 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 <tt>DTSContainer.newCompatibleContainer(net.sf.saxon.s9api.Processor, java.util.Properties)</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#newCompatibleContainer(net.sf.saxon.s9api.Processor, | * By a call to <tt>DTSContainer.newCompatibleContainer(net.sf.saxon.s9api.Processor, java.util.Properties)</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#newCompatibleContainer(net.sf.saxon.s9api.Processor,_java.util.Properties) 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 <tt>null</tt> or may by the properties of another DTSContainer. | ||
* By a call to <tt>mergeDTSs(com.ihr.xbrl.om.DTSContainer[])</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#mergeDTSs(com.ihr.xbrl.om.DTSContainer | * By a call to <tt>mergeDTSs(com.ihr.xbrl.om.DTSContainer[])</tt> method [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/om/DTSContainer.html#mergeDTSs(com.ihr.xbrl.om.DTSContainer%5b%5d) 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=== | ===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). | 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). |
Revision as of 18:38, 25 June 2009
DTSContainer wiki page
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).