|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||
java.lang.Objectcom.ihr.xbrl.om.DTSContainer
public class DTSContainer
The DTSContainer is the root class that ties all pieces in a DTS together
One instance of a DTSContainer is required on the creator of almost every object in this API.
You can obtain the DTSContainer on every object derived from XMLFragment
Correspondence table between objects in the XBRL Infoset and this API
| Class | Infoset Object |
|---|---|
DTSContainer | 2.2.1 DTS Information Item |
XBRLDocument | 2.2.2 XBRL Document Information Item |
XBRLTaxonomy | 2.2.3 XBRL Taxonomy Information Item |
XBRLImport | 2.2.4 XBRL Imported XBRL Taxonomy Information Item |
XBRLRoleType | 2.2.5 XBRL Role Type Information Item |
XBRLArcroleType | 2.2.6 XBRL Arcrole Type Information Item |
XBRLUsedOn | 2.2.7 XBRL Used On Information Item |
XMLElementDefinition | 2.2.8 XBRL Concept Information Item |
XBRLItem | 2.2.9 XBRL Item Information Item |
XBRLTuple | 2.2.10 XBRL Tuple Information Item |
XBRLLinkbase | 2.2.11 XBRL Linkbase Information Item |
XBRLExtendedLink | 2.2.12 XBRL Extended Link Information Item |
XBRLDocumentation | 2.2.13 XBRL Documentation Information Item |
XBRLRelationship | 2.2.14 XBRL Relationship Information Item |
XBRLResource | 2.2.15 XBRL Resource Information Item |
The DTSContainer implements the Stopable interface in order to allow the GUI to request the cancellation of the operation of opening a DTS.
Extending the available processors:
The available set of XBRL processors is extensible. Processors are discovered using factories. A factory is a class that creates the processor when the processor is needed for a specific task such as validation of a DTS.
All factories must implement the XBRLProcessorFactory interface.
Processor factories are loaded during the static initialization of the DTSContainer class. It is possible creating additional factories to be registered during the static initialization according to the following rules:
registerProcessor(String, XBRLPlugInProcessor) method on this classExtending the available functions in the formula processor:
Custom function factories are loaded during the static initialization of the DTSContainer class. It is possible creating additional factories to be registered during the static initialization according to the following rules:
XBRLFormulaProcessor.addCustomFunctionLibrary(XBRLRSCustomFunctionLibrary)
| Nested Class Summary | |
|---|---|
static class |
DTSContainer.IteratorConcepts
This class joins an iterator over XBRLItem and another iterator over XBRLTuple together into a single Iterator over XMLElementDefinition objects. |
static class |
DTSContainer.ProcessorAndSchemaCompiler
Helper class to encapsulate the saxonica Processor of this DTSContainer and a saxonica SchemaCompiler together. |
static class |
DTSContainer.Status
|
| Field Summary | |
|---|---|
static java.lang.String |
ALWAYS_ADD_ref_2006_02_27_xsd_SCHEMA_TO_DTS
ALWAYS_ADD_ref_2006_02_27_xsd_SCHEMA_TO_DTS is defined as "http://www.reportingstandard.com/properties/always_add_ref_2006_02_27_schema_to_DTS" Possible value is a string that can be converted into a boolean "true" or "false" Default value is "false" Some taxonomies does not incorporate the URL of the reference schema http://www.xbrl.org/2006/ref-2006-02-27.xsd to the DTS but use its namespace in the reference linkbase instead. |
static java.lang.String |
AUTHENTICATOR_DELEGATE_INSTANCE
The AUTHENTICATOR_DELEGATE_INSTANCE property is the instance of an object implementing java.net.Authenticator that will be registered as the default authenticator. |
static java.lang.String |
CONSIDER_COMPARISON_WITH_NUMBER_WITH_PRECISION_ZERO_AS_INCONSISTENCY
CONSIDER_COMPARISON_WITH_NUMBER_WITH_PRECISION_ZERO_AS_INCONSISTENCY is defined as "http://www.reportingstandard.com/properties/compare-with-number-p-zero-is-inconsistency" Possible value is a String that can be converted into a boolean "true" or "false" Default value is "false" According to the XBRL 2.1 specification in the simple equation A = B + C, if A is zero with precision 0 the comparison must return true regardless the value of B + C. |
static java.lang.String |
CONSIDER_DUPLICATES_AS_INCONSISTENCIES
CONSIDER_DUPLICATES_AS_INCONSISTENCIES is defined as "http://www.reportingstandard.com/properties/duplicate-is-inconsistency" Possible value is a String that can be converted into a boolean "true" or "false" Default value is "false" According to the XBRL 2.1 specification duplicates must be ignored for calculation checking. |
static java.lang.String |
DEFAULT_DIMENSIONS_APPLICANCY
The DEFAULT_DIMENSIONS_APPLICANCY property indicates how the Formula Functions (this does not affects Dimensions Validation) returns the value of a Fact item when the Fact item is NOT reported for a dimension that contains a default value. |
static java.lang.String |
DEFAULTS_ALWAYS_APPLY
Possible value for the DEFAULT_DIMENSIONS_APPLICANCY property |
static java.lang.String |
DEFAULTS_NOT_APPLY
Possible value for the DEFAULT_DIMENSIONS_APPLICANCY property |
static java.lang.String |
DTS_DISCOVERY_ON_DIFFERENT_FILE_NAMES
The DTS_DISCOVERY_ON_DIFFERENT_FILE_NAMES property specifies how the processor reacts when a reference to a file differs from the real file name on the file system but the file subsystem resolves to the same file name. |
static java.lang.String |
DTS_DISCOVERY_PRELOAD_OFFICIAL_SCHEMAS
The DTS_DISCOVERY_PRELOAD_OFFICIAL_SCHEMAS property is used internally by the processor to decide if, after creating a new DTSContainer instance, the official schemas from XBRL International will be loaded in the XML processor. |
static java.lang.String |
DTS_DISCOVERY_TRUST_NAMESPACES_ONLY
The DTS_DISCOVERY_TRUST_NAMESPACES_ONLY property is used internally by the processor to decide about the strategy to load or reject a new schema will be loaded into the processor based on the new schema target namespace or in both, the target namespace and the schema location. |
static java.lang.String |
DTS_PROXY_HEADER
The DTS_PROXY_HEADER property is the head of the following three properties: DTS_PROXY_HEADER/address/{n} indicates the proxy address DTS_PROXY_HEADER/port/{n} indicates the proxy port number (no defaults are recognized) DTS_PROXY_HEADER/type/{n} indicates the proxy type "HTTP" or "SOCKS" are recognized types. |
static java.lang.String |
DTS_RESOLVER
The DTS_RESOLVER property is used in order to add additional DTS URI resolvers to the default ones after the DTS configuration process has been finished. |
static java.lang.String |
ERROR_PROPERTY_VALUE
This is set to the constant value "error" |
static int |
FAST
FAST is a constant for the mode parameter in the isInstanceOfThisDTS(Source, int) function. |
static java.lang.String |
FORMULA_PROCESSOR_DEFAULT_MESSAGE_ROLE
The FORMULA_PROCESSOR_DEFAULT_MESSAGE_ROLE property indicates the default role URI string that will be used for the resolution of the winning message when no role (null) is indicated or when no message is found for the selected role (second opportunity). |
static java.lang.String |
FORMULA_PROCESSOR_ENABLE_ASSERTION_MESSAGE_EXTENSIONS
The FORMULA_PROCESSOR_ENABLE_ASSERTION_MESSAGE_EXTENSIONS property indicates if the processor will calculate and return custom messages during the evaluation of assertions. |
static java.lang.String |
FORMULA_PROCESSOR_FILTER_ORDER_CLASS
The FORMULA_PROCESSOR_FILTER_ORDER_CLASS property indicates the name of a class that must implement the XBRLFilterOrderTool interface. |
static java.lang.String |
FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE
The FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE property contains a value 'true' or 'false' that defines the behavior of the XPath expression evaluation for General Variables. |
static java.lang.String |
FORMULA_PROCESSOR_IGNORE_ASSERTION_SATISFIED
The FORMULA_PROCESSOR_IGNORE_ASSERTION_SATISFIED property indicates if the evaluation of assertions with assertion satisfied result generates a message that is added to the validation report or if the message will not be generated. |
static java.lang.String |
FORMULA_PROCESSOR_LEVEL_OF_EXCEPTIONS_INSIDE_FILTER_XPATH_EXPRESSIONS
The FORMULA_PROCESSOR_LEVEL_OF_EXCEPTIONS_INSIDE_FILTER_XPATH_EXPRESSIONS property indicates how the formula processor will react when a the evaluation of a formula filter raises an XPath exception. |
static java.lang.String |
FORMULA_PROCESSOR_PARALLEL_PROCESSING_EXPERIMENTAL
The FORMULA_PROCESSOR_PARALLEL_PROCESSING_EXPERIMENTAL property enables the formula processor to execute formulas in parallel. |
static java.lang.String |
FORMULA_PROCESSOR_PARAMETER_RESOLVER
The FORMULA_PROCESSOR_PARAMETER_RESOLVER property is used in order to add additional Variable Parameter resolvers to the formula processor. |
static java.lang.String |
FORMULA_PROCESSOR_RETAIN_AFTER_FORMULA_INTANCE_ON_ASSERTION_RESULTS
The FORMULA_PROCESSOR_RETAIN_AFTER_FORMULA_INTANCE_ON_ASSERTION_RESULTS property is used to configure the formula processor in order to allow XBRLAssertionResult instances to keep a reference of the original input instance after the execution of the formulas in the variable set that defined the input of the consistency assertion. |
static java.lang.String |
FORMULA_PROCESSOR_RETAIN_INPUT_INTANCE_ON_ASSERTION_RESULTS
The FORMULA_PROCESSOR_RETAIN_INPUT_INTANCE_ON_ASSERTION_RESULTS property is used to configure the formula processor in order to allow XBRLAssertionResult instances to keep a reference of the original input instance. |
static int |
FULL
FULL is a constant for the mode parameter in the isInstanceOfThisDTS(Source, int) function. |
static int |
GENERATION_MODE_NODEINFO
ORIGINAL serialization method means that the serialization of this object will be made using the document that was first read from source file. |
static int |
GENERATION_MODE_OBJECTS
GENERATION_MODE_OBJECTS serialization method means that the serialization of this object will be made using the object model and objects in the infoset |
static java.lang.String |
GENERIC_LABEL_VERSION
GENERIC_LABEL_VERSION is defined as "http://www.reportingstandard.com/properties/generic-linkbase/label-version" Possible values of this property are USE_GENERIC_LABEL_AS_OF_22_JUNE_2009 or USE_GENERIC_LABEL_AS_OF_CURRENT_EXPERIMENTAL. |
static java.lang.String |
GENERIC_LINKBASE_REQUIRE_ROLEREF_ARCROLEREF
GENERIC_LINKBASE_REQUIRE_ROLEREF_ARCROLEREF is defined as "http://www.reportingstandard.com/properties/generic-linkbase/require-roleRef-arcroleRef" Possible value is a String that can be converted into a boolean "true" or "false" Default value is "true" if the PROCESSORS_SEQUENCE property contains the formula processor and "false" otherwise. |
static java.lang.String |
GENERIC_REFERENCE_VERSION
GENERIC_REFERENCE_VERSION is defined as "http://www.reportingstandard.com/properties/generic-linkbase/reference-version" Possible values of this property are USE_GENERIC_REFERENCE_AS_OF_22_JUNE_2009 or USE_GENERIC_REFERENCE_AS_OF_CURRENT_EXPERIMENTAL. |
static java.lang.String |
IGNORE_PROPERTY_VALUE
This is set to the constant value "ignore" |
org.apache.log4j.Logger |
log
All log information goes through this logger |
static java.lang.String |
LOG_LEVEL
The log level that will be set to the standard logger at com.ihr.xbrl The value must be a valid string representation of the level as indicated in the log4j logging package. |
static java.lang.String |
LOGGER_NAME
LOGGER_NAME is defined as com.ihr.xbrl and is final |
static java.lang.String |
PROCESSORS_SEQUENCE
The PROCESSORS_SEQUENCE property contains a comma separated list of processors responsible of performing DTS validation The default value for the PROCESSORS_SEQUENCE property is XBRLCoreProcessor.PROCESSORNAME which is "XBRL21Core" Note: In order to perform XBRL 2.1 validation and XBRL Dimensions 1.0 validation, the value of this property must be set to XBRLCoreProcessor.PROCESSORNAME,XDTProcessor.PROCESSORNAME this is: "XBRL21Core,XBRLDimensions" Processors extensibility: Creating your own processors for project specific validation rules Processor factories are loaded during the static initialization of the DTSContainer class. |
static java.lang.String |
SEQUAL_MODE
The SEQUAL_MODE property indicates if the s-equal function follow the rules of the XBRL 2.1 specification or if it should follow the interpretation made by the authors of the XBRL formula specification. |
static java.lang.String |
SERIALIZATION_OUTPUT_DEFAULT_ATTRIBUTE_VALUES
The SERIALIZATION_OUTPUT_DEFAULT_ATTRIBUTE_VALUES indicates if during the serialization phase (conversion from internal object model representation to the XBRL syntax) the default values for attributes will be explicitly serialized or will be hidden. |
static java.lang.String |
SERIALIZATION_OUTPUT_INDENT
The SERIALIZATION_OUTPUT_INDENT property can be set to either "yes" or "no". |
static java.lang.String |
SERIALIZATION_OUTPUT_INDENT_DEFAULT
|
static java.lang.String |
SERIALIZATION_OUTPUT_OMIT_XML_DECLARATION
The SERIALIZATION_OUTPUT_OMIT_XML_DECLARATION cat be set to either "yes" or "no". |
static java.lang.String |
SERIALIZATION_OUTPUT_OMIT_XML_DECLARATION_DEFAULT
|
static java.lang.String |
SERIALIZATION_OUTPUT_XML_ENCODING
The SERIALIZATION_OUTPUT_XML_ENCODING property can be set to the encoding for XML files produced by the API. |
static java.lang.String |
SERIALIZATION_OUTPUT_XML_ENCODING_DEFAULT
|
static java.lang.String |
USE_CACHE_PROPERTY
USE_CACHE_PROPERTY is defined as "http://www.reportingstandard.com/properties/use-cache" Possible values are String that can be converted to a boolean "true" or "false" Default value is "true" Cache is read form the catalog file XBRLCatalog.xml There may be catalog files at the folder where the tool is initiated, or in the user's home directory or both. |
static java.lang.String |
USE_GENERIC_LABEL_AS_OF_22_JUNE_2009
USE_GENERIC_LABEL_AS_OF_22_JUNE_2009 is defined as GENERIC_LABEL_22_JUN_2009. |
static java.lang.String |
USE_GENERIC_LABEL_CURRENT_EXPERIMENTAL
USE_GENERIC_LABEL_AS_OF_CURRENT_EXPERIMENTAL is defined as GENERIC_LABEL_CURRENT_EXPERIMENTAL. |
static java.lang.String |
USE_GENERIC_REFERENCE_AS_OF_22_JUNE_2009
USE_GENERIC_REFERENCE_AS_OF_22_JUNE_2009 is defined as GENERIC_REFERENCE_22_JUN_2009. |
static java.lang.String |
USE_GENERIC_REFERENCE_CURRENT_EXPERIMENTAL
USE_GENERIC_REFERENCE_AS_OF_CURRENT_EXPERIMENTAL is defined as GENERIC_REFERENCE_CURRENT_EXPERIMENTAL. |
static java.lang.String |
USE_SEQUAL_AS_FORMULA_COMPLIANT
USE_SEQUAL_AS_FORMULA_COMPLIANT is defined as FORMULA_COMPLIANT. |
static java.lang.String |
USE_SEQUAL_AS_XBRL_COMPLIANT
USE_SEQUAL_AS_XBRL_COMPLIANT is defined as XBRL_COMPLIANT. |
static java.lang.String |
USE_XDT_1_0_AS_OF_18_SEP_2006
USE_XDT_1_0_AS_OF_18_SEP_2006 is defined as XDT_18_SEP_2006. |
static java.lang.String |
USE_XDT_1_0_AS_OF_25_JAN_2012
USE_XDT_1_0_AS_OF_25_JAN_2012 is defined as XDT_25_JAN_2012. |
static java.lang.String |
USE_XDT_1_0_AS_OF_7_SEP_2009
USE_XDT_1_0_AS_OF_7_SEP_2009 is defined as XDT_7_SEP_2009. |
static java.lang.String |
USE_XEQUAL_AS_FORMULA_COMPLIANT
USE_XEQUAL_AS_FORMULA_COMPLIANT is defined as FORMULA_COMPLIANT. |
static java.lang.String |
USE_XEQUAL_AS_XBRL_COMPLIANT
USE_XEQUAL_AS_XBRL_COMPLIANT is defined as XBRL_COMPLIANT. |
static java.lang.String |
WARNING_PROPERTY_VALUE
This is set to the constant value "warning" |
static java.lang.String |
XBRL_BASE
The XBRL_BASE property indicates the directory that will be used as base for resolution of files that during the DTS Discovery process. |
static java.lang.String |
XBRL_VERSION
The XBRL_VERSION property indicates the version of the XBRL specification to be used when multiple editions of the XBRL 2.1 specification causes different behavior of the XBRL processor. |
static java.lang.String |
XBRL_VERSION_2_JUL_2008
Default value for the XBRL Processor in production. |
static java.lang.String |
XBRL_VERSION_25_JAN_2012
This configures the processor to use the specification version released on January 25 of 2012. |
static java.lang.String |
XBRL_VERSION_EXPERIMENTAL_BUG_368
Experimental value of the XBRL Processor according to the BUG 368. |
static java.lang.String |
XDT_VERSION
The XDT_VERSION property indicates the version of the Dimensions Specification to be used. |
static java.lang.String |
XEQUAL_MODE
The XEQUAL_MODE property indicates if the x-equal function follow the rules of the XBRL 2.1 specification or if it should follow the interpretation made by the authors of the XBRL formula specification. |
static java.lang.String |
XML_REMOVE_NAMESPACE_DECLARATIONS
The XML_REMOVE_NAMESPACE_DECLARATIONS property indicates if the toString method in the XMLFragment generates a string with namespace declarations or without namespace declarations. |
| Method Summary | |
|---|---|
void |
addArcroleType(XBRLArcroleType arcrole)
Register a new arcroleType declaration. |
void |
addDocumentToDTS(XBRLDTSDocument d)
Adds a document to the DTS container objects. |
void |
addError(java.lang.Exception e)
|
void |
addInconsistencey(XBRLInconsistency e)
|
void |
addResource(XBRLResource resource)
The XBRLResouce initializer calls this method to store a new resource in the DTSContainer cache. |
void |
addRoleType(XBRLRoleType role)
Register a new roleType declaration. |
void |
addRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
Adds or increases the count of role types for a linkbase type. |
void |
addSourceToCacheByNamespace(java.lang.String targetNamespace,
javax.xml.transform.Source s1)
|
void |
addValidationException(XBRLValidationException e)
|
boolean |
cacheContains(java.net.URI documentURI)
Interrogates objects in the cache of documents indexed by documentURI returns true if the documentURI is on the cache The document URI is normalized and absolutized before the index search operation fragments are removed because the cache contains documents. |
XMLDocumentURI |
cacheGet(java.net.URI documentURI)
Obtains a document from the cache indexed by document URI The URI is absolutized and normalized before comparison |
void |
cachePut(XMLDocumentURI documentURI)
Stores a document in the cache indexed by document URI The URI is absolutized and normalized before stored being stored |
void |
cacheRemove(java.net.URI documentURI)
Removes a document form the cache. |
XBRLResource |
cacheResource(XBRLExtendedLink parent,
net.sf.saxon.s9api.XdmNode ni,
java.lang.Class<? extends XBRLResource> name)
Obtains a resource from the cache or creates a new resource corresponding to the node supplied as a parameter and stores it in the cache for further reference. |
java.util.Iterator<XBRLTaxonomy> |
cacheSchemaByNamespace(java.lang.String namespace)
Obtains a series of XBRLTaxonomy objects from the cache based on the namespace declared in the XBRLTaxonomy schema Results are not indexed Returns the empty sequence if the namespace is not found in the DTS |
int |
cacheSize()
Returns the number of files in the cache |
void |
clear()
Similarly to the clear method in collections, this method frees up memory and resources used in this object. |
void |
delArcroleType(XBRLArcroleType arcrole)
Unregister a loaded arcroleType declaration. |
void |
delConcept(javax.xml.namespace.QName concept)
Removes a concept form the DTS and removes also all relationships this concept participates on. |
void |
delDocumentFromDTS(XBRLDTSDocument d)
|
void |
delResource(XBRLResource resource)
|
void |
delRoleType(XBRLRoleType role)
Unregister a registered roleType |
void |
delRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
Removes or decreases the count of role types for a linkbase type. |
void |
doCallInstallDTSURIResolver(HasCreateDTSUriResolver instanceClass)
Executes a call to the method createAndRegisterDTSUriResolver on the class passed in as a parameter. |
void |
doCallInstallFormulaParameterResolver(HasCreateFormulaParameterResolver instanceClass)
|
boolean |
equals(java.lang.Object obj)
|
java.util.Vector<XBRLArcroleType> |
getArcroleType(java.lang.String uri)
Access to the arcroleType object from the URI regardless where it is defined or if there are multiple valid definitions of the same arcrole URI. |
java.util.Iterator<XBRLArcroleType> |
getArcroleTypes()
Access to an iterator over defined XBRL Arcrole Types defined on all taxonomies in the loaded DTS. |
DTSBase |
getBase(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
Obtains a base for the specified linkbaseType and role type. |
java.util.Iterator<XBRLRoleType> |
getBaseRoles(javax.xml.namespace.QName linkbaseType)
Iterator over all roles used on xlink:role attributes on extended links Iterator elements can be casted to XBRLRoleType objects |
java.util.Iterator<XBRLRoleType> |
getBaseRoleTypes(javax.xml.namespace.QName extendedLinkQName)
Return an iterator over all XBRLRoleType elements where DTSBase exists. |
java.util.Iterator<javax.xml.namespace.QName> |
getBaseTypes()
Returns an iterator over the QNames of all DTSBases in the DTS this is all types of containers of relationships. |
java.net.URI |
getBaseURI()
Access to the base URI for the XBRL processor |
XMLDocumentURI |
getCacheElement(int index)
Returns the nth element in the cache |
XMLFragment |
getConcept(javax.xml.namespace.QName concept)
Returns a concept declaration in the DTS regardless it is a tuple, item or pure element returns null if the concept is not defined in the DTS or if the value of the QName for the concept parameter is null |
java.util.Iterator<XMLElementDefinition> |
getConcepts()
Iterator over all XBRL Concept declarations (Items and Tuples) in the DTS (crosses all taxonomies) |
net.sf.saxon.s9api.Processor |
getConfiguration()
Obtains the Saxonica Processor object used by all elements in this DTS |
java.util.Collection<XBRLLibraryFactory> |
getCustomFunctionFactories()
Access to the collection of all registered Library Factories. |
javax.xml.transform.URIResolver |
getDTSURIResolver()
Access to the URIResolver of this DTSContainer. |
java.lang.String[] |
getErrors()
|
java.lang.Iterable<XBRLExtendedLink> |
getExtendedLinks()
|
net.sf.saxon.s9api.Processor |
getFastConfiguration()
Method to access to the Processor corresponding to this DTSContainer and the status of this DTSContainer. |
java.util.Iterator<XBRLItem> |
getItemDeclarations()
Iterator over all Item concepts declarations in the DTS (crosses all taxonomies) |
java.util.Iterator<java.lang.String> |
getLanguages()
Returns an iterator over all languages used in labels in the DTS |
java.lang.String |
getLastResolvedSystemId()
Returns the systemId of the last file resolved by the Resolver during the DTSDiscovery process or null if the DTSDiscoveryProcess is not on-going. |
XBRLLinkbase |
getLinkbaseByURI(java.net.URI u)
Returns the XBRLLinkbase corresponding to the Document URI or null if the URI cannot be found |
java.util.Iterator<java.net.URI> |
getLinkbaseURIs()
Returns an iterator over all linkbase documents in the DTS |
XBRLlrrAndRelationshipConstraints |
getLRRAndRelationshipsConstraintsChecker()
Obstains an instance of the XBRLlrrAndRelationshipConstraints class that is unique for the entire DTSContainer live cycle. |
java.lang.String |
getName()
Returns back the DTS name, this is useful for GUIs only. |
static DTSContainer.ProcessorAndSchemaCompiler |
getNewConfiguration(boolean schemaAware,
DTSContainer dts,
java.util.Properties props)
Creates a new Configuration object. |
int |
getNumberOfItemDeclarations()
|
int |
getNumberOfLinkbaseURIs()
Returns the number of linkbase URIs in the DTS |
int |
getNumberOfTaxonomyURIs()
Returns the number of taxonomy URIs in the DTS |
int |
getNumberOfTupleDeclarations()
|
XBRLPlugInProcessor |
getProcessor(java.lang.String processorname)
Returns a registered plug-in processor based on the processor name. |
static java.lang.Class<? extends XBRLProcessorFactory> |
getProcessorFactory(java.lang.String processorName)
Accesss to the processor factory class for the processor name |
java.util.Iterator<XBRLPlugInProcessor> |
getProcessors()
Access to all registered plug-in processors |
java.util.Properties |
getProperties()
Access to the properties of this DTSContainer. |
DTSLoadingBarInterface |
getRegisteredBar()
If this DTSContainer has a registered object that implements the DTSLoadingBarInterface interface this function returns it. |
static java.lang.String[] |
getRegisteredProcessorNames()
Access to all registered processor names |
XBRLRelationship |
getRelationship(java.lang.String extendedLink,
javax.xml.namespace.QName relationshipType,
java.lang.String arcrole,
java.util.Vector<XMLFragment> attributes,
XMLFragment source,
XMLFragment target)
Returns the relationship that matches the search criteria. |
java.util.Iterator<XBRLRelationship> |
getRelationships(DTSBase base)
Return all relationships in a DTSBase. |
java.util.Iterator<javax.xml.transform.Source> |
getResolvedSourcesByNamespace(java.lang.String targetNamespace)
|
XMLFragment |
getResource(java.lang.String resourceRole,
javax.xml.namespace.QName resourceType,
java.lang.String content,
java.util.Vector<XMLFragment> attributes,
net.sf.saxon.value.Value<?> value,
java.util.Vector<java.lang.String> xpathChildren)
Search for a resource in the DTS with the given id. |
XBRLResource |
getResource(java.net.URI xpointerIdentifier)
Resolves an XBRLResource from its XPointer identifier. |
XBRLResource |
getResource(XBRLResource res)
Locates a resource in the DTS that is identical to the resource received as a parameter. |
java.util.Iterator<XBRLResource> |
getResources()
Make sure the DTS has beed validated or the list of resources may not be complete. |
java.util.Vector<XBRLRoleType> |
getRoleType(java.lang.String uri)
Access to the roleType object from the URI regardless where it is defined or if there are multiple valid definitions of the same role URI. |
java.util.Iterator<XBRLRoleType> |
getRoleTypes()
Access to an iterator over defined XBRL Role Types defined on all taxonomies in the loaded DTS. |
java.net.URI |
getRootURI()
Returns the DTS root URI or the starting point of the DTS Discovery. |
java.net.URI[] |
getRootURIs()
Returns an array of URIs that contains the DTS Discovery starting points |
com.saxonica.schema.SchemaCompiler |
getSchemaCompiler()
Returns the current schema compiler for this configuration object. |
int |
getSerializationMethod()
Obtains the value of the serialization method. |
XBRLArcroleType |
getStaticArcroleTypeByURI(java.lang.String arcrole)
|
static DTSContainer |
getStaticContainer()
The static container exist only for static objects like standard roleTypes and standard arcroleTypes that are not used on any specific DTS. |
XBRLRoleType |
getStaticRoleTypeByURI(java.lang.String role)
|
DTSContainer.Status |
getStatus()
Access to the processor status |
java.util.Iterator<XBRLTaxonomy> |
getTaxonomyByNamespace(java.lang.String namespace)
Returns an iterator over all taxonomy schemas that matches the corresponding namespace Never returns null |
java.util.Iterator<XBRLTaxonomy> |
getTaxonomyByPrefix(java.lang.String conceptPrefix)
Returns an iterator over all taxonomy schemas whose target namespace matches the prefix. |
XBRLTaxonomy |
getTaxonomyByURI(java.net.URI u)
Returns the XBRLTaxonomy corresponding to the Document URI |
java.util.Iterator<java.net.URI> |
getTaxonomyURIs()
Returns an iterator over all taxonomy documents in the DTS |
java.net.URI |
getTempURL()
Returns a URL pointin to a temporary folder in the local drive. |
java.util.Iterator<XBRLTuple> |
getTupleDeclarations()
Iterator over all Tuple concept declarations in the DTS (crosses all taxonomies) |
XBRLXSDTypeDefinition |
getTypeDefinition(javax.xml.namespace.QName type)
Find the type definition for the specific QName This function does not find new types defined in taxonomy schemas that has not been read from XML files. |
XBRLValidationReport |
getValidationReport()
Access to the internal validation report. |
java.util.Properties |
getVariablesForProcessors()
Access to the variables that has been set to be available for processors. |
int |
hashCode()
|
void |
installDTSURIResolver(javax.xml.transform.URIResolver resolver)
Sets a new resolver to this DTSContainer object. |
void |
installFormulaParameterResolver(XBRLFormulaParametersResolver parameterResolver)
Sets a new resolver to this XBRLFormulaParametersResolver object. |
boolean |
isBaseDefined(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
Returns true if there is a DTSbase defined in the DTS for the given role and of the specified linkbaseType |
boolean |
isBUG368Mode()
Returns true if the user has set the property XBRL_VERSION to the value XBRL_VERSION_EXPERIMENTAL_BUG_368 |
boolean |
isDocumentInDTS(java.net.URI key)
Returns true if the document is in the DTS. |
boolean |
isDocumentInDTS(XBRLDTSDocument d)
Search the different DTS document containers and try to find the document in the cache. |
boolean |
isGeneralVariableSchemaAware()
This method returns the value of the property FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE See FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE for more information. |
XBRLInstance |
isInstanceOfThisDTS(MultiDTSValidationFile item,
int mode)
Check whether or not the document in the xmlSource is an instance document according to this DTS. |
XBRLInstance |
isInstanceOfThisDTS(javax.xml.transform.Source xmlSource,
int mode)
Check whether or not the document in the xmlSource is an instance document according to this DTS. |
boolean |
isInstanceOfThisDTS(XBRLInstance instance,
int mode)
Check whether or not the instance document received as a parameter can be used in this DTSContainer. |
boolean |
isVersion20122501()
|
XBRLDocument |
load(javax.xml.transform.Source source)
Load a DTS. |
XBRLDocument[] |
load(javax.xml.transform.Source[] ss)
Load a DTS from a set of urls. |
XBRLDocument |
load(java.net.URI url)
Load a DTS. |
XBRLDocument[] |
load(java.net.URI[] url)
Load a DTS from a set of urls. |
void |
loadExtraSchemas()
Called internally by the API when extra schemas must be loaded in the configuration object and schema compiler |
void |
loadIntoConfiguration()
Switch the configuration object to strict schema validation, then loads all documents in this DTS (thus in the cache) into the configuration object. |
void |
loadIntoConfiguration(XBRLTaxonomy taxonomy)
Load a new schema into the schema compiler. |
static DTSContainer |
mergeDTSs(DTSContainer[] dtss)
Merges several DTSs into a single DTS |
static DTSContainer |
newCompatibleContainer(net.sf.saxon.s9api.Processor proc,
java.util.Properties props)
Creates a new DTSContainer that is compatible with the Processor suppied as a parameter. |
static DTSContainer |
newEmptyContainer()
Method used to create a new empty DTSContainer. |
static DTSContainer |
newEmptyContainer(java.util.Properties props)
Method used to create a new empty DTSContainer. |
void |
readInfoset()
Method used to populate the object model in all objects defined within this DTS |
void |
recompile()
Recompile schemas loaded into the schemaconfiguration. |
void |
registerBar(DTSLoadingBarInterface bar)
Sets the loading bar object that will be informed about progress in the loading process. |
void |
registerProcessor(java.lang.String processorname,
XBRLPlugInProcessor processor)
Called by the processor to self register. |
static boolean |
registerProcessorFactory(java.lang.String name,
java.lang.Class<? extends XBRLProcessorFactory> clazz)
Register a new processor factory for the indicated processor name |
void |
removeSourceFromCacheByNamespace(java.lang.String targetNamespace)
|
XMLFragment |
resolveXPointer(java.net.URI uriHref,
XMLDocumentURI doc)
resolve the XPointer to the node pointed to and returns the XMLFragment it points to or null if none can be found. |
void |
save(boolean relativize)
Save all files in the DTS. |
boolean |
sEqualMode()
The default value of the SEQUAL_MODE is XBRL_COMPLIANT but the conformance suite of the formula processor requires it to be set to FORMULA_COMPLIANT. |
void |
setName(java.lang.String name)
Sets the name of this DTS to the specified name. |
void |
setProperties(java.util.Properties newProps)
Internal method using during class constructors to set the properties of this DTSContainer. |
void |
setProperty(java.lang.String name,
java.lang.String value)
Sets a DTSConfiguration property. |
void |
setRootURI(java.net.URI newURI)
|
void |
setSerializationMethod(int method)
Sets the serialization method to OBJECTS or ORIGINAL. |
void |
setVariablesForProcessors(java.util.Properties variables)
Variables is a new machanism to pass information from an external application to a custom processor. |
boolean |
shouldStop()
This function will be called by classes that knows what to do if the loading proces of a DTS has been cancelled by the user. |
void |
stop()
This method will be called by another thread in order to request this process to stop execution. |
XBRLValidationReport |
validate()
Executes all registered validators indicated in the PROCESSORS_SEQUENCE property of this DTS and returns the XBRLValidationReport instance with the validation result. |
XBRLValidationReport |
validate(XBRLDocument doc)
Validates a new document against this already loaded DTS. |
boolean |
xEqualMode()
The default value of the XEQUAL_MODE is XBRL_COMPLIANT but the conformance suite of the formula processor requires it to be set to FORMULA_COMPLIANT. |
| Methods inherited from class java.lang.Object |
|---|
getClass, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String USE_CACHE_PROPERTY
public static final java.lang.String CONSIDER_DUPLICATES_AS_INCONSISTENCIES
According to the XBRL 2.1 specification duplicates must be ignored for calculation checking. Very often this is a problem in real projects that wanted to detect if the incoming instance is trying to avoid calculation checks by submitting duplicates in the instance. Setting this value to "true" generates an "inconsistency" warning in case a calculation rule has been skipped due to the existence of a duplicate fact in the instance document.
public static final java.lang.String CONSIDER_COMPARISON_WITH_NUMBER_WITH_PRECISION_ZERO_AS_INCONSISTENCY
Default value is "false"
According to the XBRL 2.1 specification in the simple equation A = B + C, if A is zero with precision 0 the comparison must return true regardless the value of B + C.
If this property has the value "true" a warning will be raised if this condition happens.
public static final java.lang.String GENERIC_LINKBASE_REQUIRE_ROLEREF_ARCROLEREF
Default value is "true" if the PROCESSORS_SEQUENCE property contains the formula processor and "false" otherwise.
All defined extended links in the XBRL 2.1 specification (presentationLink, calculationLink, definitionLink, labelLink and referenceLink) requires the existence of a roleRef element pointing to the role definition for roles not defined in the XBRL 2.1 specification and arcroleRef element pointing to the arcrole definition for arcroles not defined in the XBRL 2.1 specification. For consistency reasons, the Generic Links 1.0 specification (Recommendation 22 June 2009) requires the same constraints on roles and arcroles used in generic links. Just sticking to the wording of the XBRL 2.1 specification, roleRef and arcroleRef elements would not be required on generic links.
The GENERIC_LINKBASE_REQUIRE_ROLEREF_ARCROLEREF allows the processor to raise an error (DTSDiscoveryException) if roles or arcroles defined in generic links does not contain a roleRef arcroleRef element (as required in the Generic Links 1.0); in this case, the property value should be "true" or not raise an error as defined in the XBRL 2.1 specification without the constraints defined in the Generic Links 1.0; in this case, the property value should be "false".
public static final java.lang.String GENERIC_LABEL_VERSION
The schema for the Generic labels 1.0 specification defined on June 22 2009 contains an arcrole definition for the arcrole type http://xbrl.org/arcrole/2008/element-label. That arcrole type contains an attribute called cyclesAllowed whose value was "none".
The (currently not dated) version of the errata corrections for the Generic labels 1.0 specification changes the value of the cyclesAllowed attribute from "none" to "undirected". For this reason the property adjust the processor for using the original or the newest version of that schema.
The default value for this property is USE_GENERIC_LABEL_AS_OF_22_JUNE_2009. Note this value will be changed at a later time.
public static final java.lang.String GENERIC_REFERENCE_VERSION
The schema for the Generic references 1.0 specification defined on June 22 2009 contains an arcrole definition for the arcrole type http://xbrl.org/arcrole/2008/element-reference. That arcrole type contains an attribute called cyclesAllowed whose value was "none".
The (currently not dated) version of the errata corrections for the Generic references 1.0 specification changes the value of the cyclesAllowed attribute from "none" to "undirected". For this reason the property adjust the processor for using the original or the newest version of that schema.
The default value for this property is USE_GENERIC_REFERENCE_AS_OF_22_JUNE_2009. Note this value will be changed at a later time.
public static final java.lang.String USE_GENERIC_LABEL_AS_OF_22_JUNE_2009
This is one of the possible values of the GENERIC_LABEL_VERSION property of the DTSContainer.
public static final java.lang.String USE_GENERIC_LABEL_CURRENT_EXPERIMENTAL
This is one of the possible values of the GENERIC_LABEL_VERSION property of the DTSContainer.
Note: the specification wording still has not been approved. The new specification version changes the cyclesAllowed attribute on the arcrole definition for element-label relationships from none to undirected
public static final java.lang.String USE_GENERIC_REFERENCE_AS_OF_22_JUNE_2009
This is one of the possible values of the GENERIC_REFERENCE_VERSION property of the DTSContainer.
public static final java.lang.String USE_GENERIC_REFERENCE_CURRENT_EXPERIMENTAL
This is one of the possible values of the GENERIC_REFERENCE_VERSION property of the DTSContainer.
Note: the specification wording still has not been approved. The new specification version changes the cyclesAllowed attribute on the arcrole definition for element-reference relationships from none to undirected
public static final java.lang.String ALWAYS_ADD_ref_2006_02_27_xsd_SCHEMA_TO_DTS
public static final java.lang.String USE_XDT_1_0_AS_OF_18_SEP_2006
This is one of the possible values of the XDT_VERSION property of the DTSContainer.
public static final java.lang.String USE_XDT_1_0_AS_OF_7_SEP_2009
This is one of the possible values of the XDT_VERSION property of the DTSContainer.
public static final java.lang.String USE_XDT_1_0_AS_OF_25_JAN_2012
This is one of the possible values of the XDT_VERSION property of the DTSContainer.
Note: there are no functional differences between XDT specification version September 7th 2009 and January 1st 2012. Both values are equivalent.
public static final java.lang.String USE_XEQUAL_AS_XBRL_COMPLIANT
This is one of the possible value of the XEQUAL_MODE property.
public static final java.lang.String USE_XEQUAL_AS_FORMULA_COMPLIANT
This is one of the possible value of the XEQUAL_MODE property.
public static final java.lang.String XEQUAL_MODE
The value of the XEQUAL_MODE constant is "http://www.reportingstandard.com/properties/x-equal"
The default value for the property is USE_XEQUAL_AS_XBRL_COMPLIANT which is safer in all conditions except when passing the XBRL functions comformance suite.
public static final java.lang.String USE_SEQUAL_AS_XBRL_COMPLIANT
This is one of the possible value of the SEQUAL_MODE property.
public static final java.lang.String USE_SEQUAL_AS_FORMULA_COMPLIANT
This is one of the possible value of the SEQUAL_MODE property.
public static final java.lang.String SEQUAL_MODE
The value of the SEQUAL_MODE constant is "http://www.reportingstandard.com/properties/s-equal"
The default value for the property is USE_SEQUAL_AS_XBRL_COMPLIANT which is safer in all conditions except when passing the XBRL functions comformance suite.
public static final java.lang.String XDT_VERSION
The value of the XDT_VERSION constant is "http://www.reportingstandard.com/properties/xdt-version".
The default value for the property it refers to is USE_XDT_1_0_AS_OF_7_SEP_2009 which is the lastest release with errata corrections of the XDT specification.
public static final java.lang.String XBRL_VERSION
As of 02/07/2008 Reporting Standard has found no differences in the XBRL processor implementation
with previous XBRL 2.1 implementations. The default value of this property is XBRL_VERSION_2_JUL_2008
XBRL_VERSION_2_JUL_2008
As of 26/07/2010 the XBRL 2.1 specification working group is working (for longer than a year) in changing how summation-item works and the recognition of zero with precision zero. There is a new value for experimental purposes that is XBRL_VERSION_EXPERIMENTAL_BUG_368.
On 25/01/2012 the XBRL consortium has approve a new edition of the XBRL 2.1 specification consolidating
all changes made to the specification in the last years. This is in fact a new specification version
regardless the specification name says it is an errata correction. Calculations and inconsistencies
and errors regarding calculations are different than in previous specification versions. Conformance
suite test cases are not consistent between this version of the specification and previous versions.
XBRL_VERSION_25_JAN_2012
public static final java.lang.String XBRL_VERSION_2_JUL_2008
XBRL_VERSION,
Constant Field Valuespublic static final java.lang.String XBRL_VERSION_EXPERIMENTAL_BUG_368
The previous value was "XBRL_EXPERIMENTAL_BUG_368". On 2011/07/12 the value has been changed to "XBRL_PER_7_MAR_2011";
This value is now deprecated and shall be replaced by the new value "XBRL_25_JAN_2012". Please note there are differences between PER_7_MAR_2011 and specification version of 25 JAN 2012 because rounding is on this specification version is IEEE roundTiesToEven.
XBRL_VERSION,
Constant Field Valuespublic static final java.lang.String XBRL_VERSION_25_JAN_2012
XBRL_VERSION,
Constant Field Valuespublic static final java.lang.String XBRL_BASE
The data type of this property is a URI. Users MUST take care the provided String can be converted into a URI
The default value depends on the existence of a value for the environment variable XBRLCATALOGPATH.
if that variable is set. the default value will be ${XBRLCATALOGPATH}/Other/
if that variable is not set, the default value is the directory where the processor is running. "user.dir"/
Note that the xbrl-base is a directory so the method reading this property value ensures the value ends with a slash character "/" in order to allow proper resolution of local files.
public static final java.lang.String DTS_DISCOVERY_ON_DIFFERENT_FILE_NAMES
If set to "warning", the processor will add an inconsistency to the validation phase. The inconsistency will indicate that the DTS will be valid on certain systems like "Windows" because windows does not distinguish between uppercase file names and lowercase file names, but it will not be valid on "Unix" because unix considers upper case file names different from lower case file names.
If set to "error", the processor will consider this as an error even if the processor is running on a windows system and the file name can be resolved to a local file. This is our recommended value when running on a server validating incoming files on a regulator system
If set to "ignore", the processor will ignore and this "problem" is detected, the processor will ignore it.
public static final java.lang.String DTS_DISCOVERY_TRUST_NAMESPACES_ONLY
If an schema already loaded into the XML processor has both, the same target namespace and the same schema location, it is safe to ignore the second reference to the same schema (XML schema processors do this normally) but, when the same schema is loaded from a different location this might be due to three possibilities: (1) the second schema is doing an include of the first schema using the same target namespace (which is correct) or (2) the second schema is the same as the first schema but in a different location (which would be an error due to duplicate definitions of everything but is a common mistake in the conformance suites) or, the second schema is different from the first schema and contains duplicate definitions among with new definitions which is an error.
The default value for the DTS_DISCOVERY_TRUST_NAMESPACES_ONLY is false so namespaces and locations will be used.
public static final java.lang.String DTS_DISCOVERY_PRELOAD_OFFICIAL_SCHEMAS
If the official schemas are not loaded when the DTSContainer is created, they will be discovered during the DTS discovery process and loaded from the cache or from the Internet depending on how other properties are set.
The default value of this property is true. This means that default schemas will be loaded from internal resources when a DTSContainer is created.
The only reason for setting this property to false would be to use other locations of the official schemas rather than the official locations of the schemas, like, for example, the formula conformance suite when it is downloaded from the SVN repository.
public static final java.lang.String DTS_RESOLVER
In case multiple DTS_RESOLVER shall be added in a chain by the calling application, the calling application may use an instance of the class MultiDTSUriResolverFactory which implements the functionality of creating all of them and registering to the DTSContainer in the proper order. Refer to the documentation of the MultiDTSUriResolverFactory for more information.
MultiDTSUriResolverFactory,
HasCreateDTSUriResolver,
Constant Field Valuespublic static final java.lang.String LOG_LEVEL
The value must be a valid string representation of the level as indicated in the log4j logging package. This is typically ALL, TRACE, DEBUG, WARN, ERROR or OFF.
Use ALL for the processor to generate all debug messages sent to appenders registered for loggers at com.ihr.xbrl !!WARNING!! this may slow down performance.
Default value is Level.ERROR
public static final java.lang.String DTS_PROXY_HEADER
Use this properties in order to set a collection of proxies that will be used in turn for opening external files.
Note the taxonomy cache is independent from the proxies. The taxonomy cache always takes preference over any proxy configurations. Taxonomy cache sources are local files or the XBRL Database.
public static final java.lang.String AUTHENTICATOR_DELEGATE_INSTANCE
public static final java.lang.String PROCESSORS_SEQUENCE
The default value for the PROCESSORS_SEQUENCE property is XBRLCoreProcessor.PROCESSORNAME which is "XBRL21Core"
Note: In order to perform XBRL 2.1 validation and XBRL Dimensions 1.0 validation, the value of this property must be set to XBRLCoreProcessor.PROCESSORNAME,XDTProcessor.PROCESSORNAME this is: "XBRL21Core,XBRLDimensions"
Processors extensibility: Creating your own processors for project specific validation rules
Processor factories are loaded during the static initialization of the DTSContainer class. It is possible users create additional factories to be registered during the static initialization according to the following rules:
registerProcessor(String, XBRLPlugInProcessor) method on this classIn case of any error during the initialization of custom XBRL processors a RuntimeException is produced encapsulating an XBRLInitializationException. The XBRL Processor may be in an unusable status in this case. Regular processors for XBRL 2.1, Dimensions and Formula processing are safe and does not raise XBRLInitialization exceptions.
public static final java.lang.String WARNING_PROPERTY_VALUE
public static final java.lang.String ERROR_PROPERTY_VALUE
public static final java.lang.String IGNORE_PROPERTY_VALUE
public static final java.lang.String FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE
Default value is 'true'
If the value is 'true' then the XPath expression will be schema aware. Nodes returned by the evaluation of the XPath expression will be typed according with the data types defined in the schemas.
If the value is 'false' then the XPath expression will NOT be schema aware. Nodes returned by the evaluation of the XPath expression will NOT be typed (they will be Untyped nodes) and data conversion will be necessary in the XPath expressions using them.
Before 09/01/2011, The formula tests suite contained one test case that requires to load an external XML file using the doc() XPath function. That target XML file was NOT valid against the referenced schema. After 09/01/2011 the tests suite was changed in order make the XML file schema aware.
public static final java.lang.String FORMULA_PROCESSOR_PARAMETER_RESOLVER
The FORMULA_PROCESSOR_PARAMETER_RESOLVER property value must be an instance of a class implementing the HasCreateFormulaParameterResolver interface. The DTSContainer will call the createAndRegisterDTSUriResolver method in order to let the class create and register the new URI resolver.
In case multiple FORMULA_PROCESSOR_PARAMETER_RESOLVER shall be added in a chain by the calling application, the calling application may use an instance of the class MultiFormulaParameterResolverFactory which implements the functionality of creating all of them and registering to the DTSContainer in the proper order. Refer to the documentation of the MultiFormulaParameterResolverFactory for more information.
MultiFormulaParameterResolverFactory,
Constant Field Valuespublic static final java.lang.String FORMULA_PROCESSOR_RETAIN_INPUT_INTANCE_ON_ASSERTION_RESULTS
The default value of this property is "false" so a call to the function returning this value on the XBRLAssertionResult object will return null.
Put this property to true if you want to use this information in the API.
public static final java.lang.String FORMULA_PROCESSOR_RETAIN_AFTER_FORMULA_INTANCE_ON_ASSERTION_RESULTS
The default value of this property is "false" so a call to the function returning this value on the XBRLAssertionResult object will return null.
Put this property to true if you want to use this information in the API.
public static final java.lang.String FORMULA_PROCESSOR_PARALLEL_PROCESSING_EXPERIMENTAL
The FORMULA_PROCESSOR_PARALLEL_PROCESSING_EXPERIMENTAL property value must be a boolean. The default is 'false'
public static final java.lang.String FORMULA_PROCESSOR_ENABLE_ASSERTION_MESSAGE_EXTENSIONS
The FORMULA_PROCESSOR_ENABLE_ASSERTION_MESSAGE_EXTENSIONS property value must be a boolean. The default is 'true'
public static final java.lang.String FORMULA_PROCESSOR_DEFAULT_MESSAGE_ROLE
The FORMULA_PROCESSOR_DEFAULT_MESSAGE_ROLE property value must be a string. The default value is 'http://www.xbrl.org/2010/role/message' that is defined in the Generic messages 1.0 specification.
public static final java.lang.String FORMULA_PROCESSOR_LEVEL_OF_EXCEPTIONS_INSIDE_FILTER_XPATH_EXPRESSIONS
In order to create high quality taxonomies we encourage taxonomy developers to set this property to "error" and create test cases in order to test the taxonomy and execution of formulas in all possible circumstances. Adding filters to the variables when needed in order to prevent the XPath expression to raise an exception when the exception is not desired.
Possible values of this property are: "error" (the default and recommented value) and "warning". Note that "ignore" is not a valid property value.
Setting this property value to "error" is key in order to guarantee high interoperability of the formulas defined in XBRL taxonomies as Reporting Standard XBRL formula processor has implemented all the formula specification and other software vendors are not able to raise or recognize (maybe they even skip execution) of assertions defined in formula linkbases.
public static final java.lang.String FORMULA_PROCESSOR_IGNORE_ASSERTION_SATISFIED
The property exists to allow for a more user friendly validation report in which only non compliant assertions are reported
The default value is "false", this means all messages are generated
public static final java.lang.String FORMULA_PROCESSOR_FILTER_ORDER_CLASS
The default value of this property is an instance of the XBRLFilterOrderTool interface that passes all test cases in the formula conformance suite.
public static final java.lang.String DEFAULT_DIMENSIONS_APPLICANCY
Background: The desired and natural interpretation of this property should be "Defaults-NOT-apply". Defaults should apply only when the dimension exist on hypercubes linked with the primary item and after that test there should be a question about what the dimension value is. The authors of the formula specification and the base specification working group, surprisingly, has implemented the opposite. According to their interpretation of the Dimensions Specification, default values are always returned for a fact regardless the fact does not contains that dimension declared on any hypercube.
Due to the reason the interpretation made by the formula WG and base WG is not understandable by business users, this processor allows our users to decide if they want to operate in the "natural mode" of not allowing defaults to appear when they are not desired or in the "anti natural mode" where defaults are always returned.
The possible values for this parameter are:
public static final java.lang.String DEFAULTS_NOT_APPLY
public static final java.lang.String DEFAULTS_ALWAYS_APPLY
public static final java.lang.String SERIALIZATION_OUTPUT_DEFAULT_ATTRIBUTE_VALUES
It is a good practice in XML to hide attributes when they have the default values assigned in the XML Schemas. This reduces the file size and maintains the same expressiveness after XML Schema validation, but the US-SEC requires the order attribute to be explicitly serialized on all relationships even if it is meaningless.
The value can be either "true" or "false". The default value for this property is "false".
public static final java.lang.String SERIALIZATION_OUTPUT_XML_ENCODING
Some "modern" projects, still use encodings defined in the old 60s... such as ASCII... If you have to deal with this projects you have to provide the value "ASCII" to this property in order to make sure the output is encoded as ASCII
public static final java.lang.String SERIALIZATION_OUTPUT_XML_ENCODING_DEFAULT
public static final java.lang.String SERIALIZATION_OUTPUT_INDENT
The default value is "yes". so the XML is indented and you can see the nesting of XML nodes in a text editor. Change it to "no" if that is not required and you can save some space on disk.
public static final java.lang.String SERIALIZATION_OUTPUT_INDENT_DEFAULT
public static final java.lang.String SERIALIZATION_OUTPUT_OMIT_XML_DECLARATION
The default value is "no" so the XML declaration will always be included by default.
public static final java.lang.String SERIALIZATION_OUTPUT_OMIT_XML_DECLARATION_DEFAULT
public static final java.lang.String XML_REMOVE_NAMESPACE_DECLARATIONS
The default value of this property is "true" so namespaces will be stripped.
This property affects GUI tools that outputs text versions of the XML extracted from files or generated internally.
public static final int FAST
isInstanceOfThisDTS(Source, int) function.
It indicates that the comparison of the DTS will use only the files explicitly referenced in this file and not
the files inside files referenced in this file (no recurse discovery of DTS files). This is faster but DTSs that
contains the same files using different starting points will not be found.
public static final int FULL
isInstanceOfThisDTS(Source, int) function.
It indicates that the comparison of the DTS will use all files in the DTS of both documents. This is slowest than
FAST comparison but will detect all DTS that are the same DTS regardless the starting points of discovery
are the same on both DTSs under comparison.
public static final java.lang.String LOGGER_NAME
public org.apache.log4j.Logger log
public static final int GENERATION_MODE_NODEINFO
public static final int GENERATION_MODE_OBJECTS
| Method Detail |
|---|
public void setProperty(java.lang.String name,
java.lang.String value)
name - property namevalue - property value as stringpublic void setVariablesForProcessors(java.util.Properties variables)
variables - Properties instancepublic java.util.Properties getVariablesForProcessors()
setVariablesForProcessors(Properties) in order to set the properties instance
public void setProperties(java.util.Properties newProps)
newProps - Propertiespublic java.util.Properties getProperties()
Properties are set during the creation of the DTSContainer to their default or indicated values.
Warning, changes in the values of some properties in a DTS already created may or may not be a safe operation.
public int hashCode()
hashCode in class java.lang.Objectpublic boolean equals(java.lang.Object obj)
equals in class java.lang.Objectpublic void registerBar(DTSLoadingBarInterface bar)
bar - DTSLoadingBar objectpublic DTSLoadingBarInterface getRegisteredBar()
This function is used internally by the API in order to send messages to the GUI during the process of dts discovery and loading a DTS into the object model.
public javax.xml.transform.URIResolver getDTSURIResolver()
public void installDTSURIResolver(javax.xml.transform.URIResolver resolver)
resolver - public void installFormulaParameterResolver(XBRLFormulaParametersResolver parameterResolver)
parameterResolver - public void doCallInstallDTSURIResolver(HasCreateDTSUriResolver instanceClass)
instanceClass - instance of a class implementing the interface HasCreateDTSUriResolverpublic void doCallInstallFormulaParameterResolver(HasCreateFormulaParameterResolver instanceClass)
theClassImplementingHasCreateFormulaParameterResolver - public void setName(java.lang.String name)
name - public java.lang.String getName()
public void clear()
throws java.lang.Throwable
XBRLValidationException
java.lang.Throwable
public static DTSContainer newEmptyContainer()
throws com.rs.lic.LicenseVerificationException
After object instantiation you may be interested in using any of the load methods in order to load the DTS into the container.
The default DTSContainer created using this method takes the default value for all DTS properties.
The USE_CACHE_PROPERTY value is true
com.rs.lic.LicenseVerificationException
public static DTSContainer newEmptyContainer(java.util.Properties props)
throws com.rs.lic.LicenseVerificationException
props - Properties to configure the processor. null for using default values for all properties. The processor
creates a local copy of the properties indicated here so during cleanUp phase of this DTS the properties used
on this call will not be reset, but the properties effectively used in the report will.
com.rs.lic.LicenseVerificationException
public static DTSContainer newCompatibleContainer(net.sf.saxon.s9api.Processor proc,
java.util.Properties props)
throws com.rs.lic.LicenseVerificationException
proc - Processor (saxonica s9api)props - Properties. May be null.
com.rs.lic.LicenseVerificationException
public static DTSContainer mergeDTSs(DTSContainer[] dtss)
throws com.rs.lic.LicenseVerificationException
dtss - DTSContainer[] array of DTSs to merge into a single DTS
com.rs.lic.LicenseVerificationException - Only thrown when the license is limited to a set of files and there is a file in the DTS that is out of the valid list of files under the license
XBRLValidationExceptionpublic static DTSContainer getStaticContainer()
public void addDocumentToDTS(XBRLDTSDocument d)
d - XMLDocumentURIpublic void delDocumentFromDTS(XBRLDTSDocument d)
public void save(boolean relativize)
throws XBRLSerializationException
relativize - true if the URIs will be relativized according to the parent
document. False to absolutize all URIs
XBRLSerializationExceptionpublic boolean isDocumentInDTS(XBRLDTSDocument d)
d - XMLDocumentURI
public boolean isDocumentInDTS(java.net.URI key)
Note: The URI must be absolute and the URI text MUST NOT have non US-ASII characters. Non US-ASCII characters must be transformed into escaped UTF-8 characters previously to calling this function.
key - the Document URI to search for
public java.util.Iterator<javax.xml.namespace.QName> getBaseTypes()
public java.util.Iterator<XBRLRoleType> getBaseRoles(javax.xml.namespace.QName linkbaseType)
linkbaseType - QName of the extended link type
XBRLValidationException
public void addRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - role -
public void delRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - role -
public boolean isBaseDefined(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - QNamerole - XBRLRoleType
public DTSBase getBase(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - QNamerole - XBRLRoleType
XBRLValidationException
DTSDiscoveryExceptionpublic java.util.Iterator<XBRLRoleType> getBaseRoleTypes(javax.xml.namespace.QName extendedLinkQName)
extendedLinkQName - QName
public net.sf.saxon.s9api.Processor getConfiguration()
public void recompile()
throws DTSDiscoveryException
DTSDiscoveryExceptionpublic net.sf.saxon.s9api.Processor getFastConfiguration()
If schemas has been already compiled this method returns the shared Processor. If the status of this DTSContainer is still reading external files then a new Processor non schema aware will be created.
public static DTSContainer.ProcessorAndSchemaCompiler getNewConfiguration(boolean schemaAware,
DTSContainer dts,
java.util.Properties props)
schemaAware - boolean (true if the new configuration object MUST be schema aware)dts - a DTSContainer object suitable to provide schemas from the cache or null if not available at this timeprops - Properties to the DTSConfiguration object
public boolean cacheContains(java.net.URI documentURI)
The document URI is normalized and absolutized before the index search operation
fragments are removed because the cache contains documents.
documentURI -
public java.util.Iterator<XBRLTaxonomy> cacheSchemaByNamespace(java.lang.String namespace)
Results are not indexed
Returns the empty sequence if the namespace is not found in the DTS
namespace - String
public XMLDocumentURI cacheGet(java.net.URI documentURI)
documentURI -
public int cacheSize()
public XMLDocumentURI getCacheElement(int index)
public void cachePut(XMLDocumentURI documentURI)
throws DTSDiscoveryException
documentURI -
DTSDiscoveryExceptionpublic void cacheRemove(java.net.URI documentURI)
url - URI
public XBRLResource cacheResource(XBRLExtendedLink parent,
net.sf.saxon.s9api.XdmNode ni,
java.lang.Class<? extends XBRLResource> name)
resources are indexed by the NodeInfo element
parent - - Extended link where the XBRLResource resides. Can be null if the XBRLResource is in the cache.ni - - NodeInfo, cannot be nullname - - class of the resource to be created if no resource exist in the cache
public void addResource(XBRLResource resource)
throws XBRLDuplicateException
resource -
XBRLDuplicateResource
XBRLValidationException
XBRLDuplicateExceptionpublic XBRLResource getResource(XBRLResource res)
res - XBRLResource
public java.util.Iterator<java.lang.String> getLanguages()
public void delResource(XBRLResource resource)
public XBRLDocument load(java.net.URI url)
throws DTSDiscoveryException,
com.rs.lic.LicenseVerificationException
url - a Taxonomy schema, linkbase or instance document
DTSDiscoveryException - is XBRL errors were found
com.rs.lic.LicenseVerificationException - Only thrown when the license is limited to a set of files and there is a file in the DTS for which there is no license
public XBRLDocument[] load(java.net.URI[] url)
throws DTSDiscoveryException,
com.rs.lic.LicenseVerificationException
url - an array of Taxonomy schemas, linkbases or instance documents
DTSDiscoveryException - is XBRL errors were found
com.rs.lic.LicenseVerificationException - Only thrown when the license is limited to a set of files and there is a file in the DTS for which there is no license
public XBRLDocument load(javax.xml.transform.Source source)
throws DTSDiscoveryException,
com.rs.lic.LicenseVerificationException
source - a Taxonomy schema, linkbase or instance document as a javax.xml.transform.Source. Note the SystemId value in the source will be used for the resolution of relative URLs in the file
DTSDiscoveryException - is XBRL errors were found
com.rs.lic.LicenseVerificationException - Only thrown when the license is limited to a set of files and there is a file in the DTS for which there is no license
public XBRLDocument[] load(javax.xml.transform.Source[] ss)
throws DTSDiscoveryException,
com.rs.lic.LicenseVerificationException
ss - array of Source objects
DTSDiscoveryException
com.rs.lic.LicenseVerificationException
public void loadIntoConfiguration()
throws XBRLValidationException,
com.rs.lic.LicenseVerificationException
XBRLValidationException
com.rs.lic.LicenseVerificationException - Thrown if there is a file in the DTS for which the license is not valid. Only happens if the license is limited to a set of files. Open licenses does not generate this exceptionpublic java.net.URI getRootURI()
public java.net.URI[] getRootURIs()
public void setRootURI(java.net.URI newURI)
newURI -
public void loadIntoConfiguration(XBRLTaxonomy taxonomy)
throws net.sf.saxon.type.SchemaException
taxonomy -
net.sf.saxon.type.SchemaExceptionpublic void addError(java.lang.Exception e)
public java.lang.String[] getErrors()
public XBRLArcroleType getStaticArcroleTypeByURI(java.lang.String arcrole)
public XBRLRoleType getStaticRoleTypeByURI(java.lang.String role)
public java.util.Iterator<XBRLRelationship> getRelationships(DTSBase base)
throws XBRLValidationException
base - DTSBase The base to be interrogated
XBRLValidationExceptionpublic void setSerializationMethod(int method)
OBJECTS means that the objects that are part of this document will be used to serialize the document. This is the default value and it is safe because during the loading phase the infoset is read and the infoset contains an object model representation of all possible content.
ORIGINAL is faster and even safer than OBJECTS unless the application has changed things in the objects of this document.
method - integer code of the new Methodpublic int getSerializationMethod()
public java.util.Vector<XBRLArcroleType> getArcroleType(java.lang.String uri)
uri - String with the arcroleURI to search for
XBRLRuntimeException - encapsulating XBRLValidationExceptions if any (shall not occurs if the DTS is already validated)public java.util.Vector<XBRLRoleType> getRoleType(java.lang.String uri)
uri - String with the roleURI to search for
XBRLRuntimeException - encapsulating XBRLValidationExceptions if any (shall not occurs if the DTS is already validated)public java.util.Iterator<XBRLRoleType> getRoleTypes()
XBRLRuntimeException - encapsulating XBRLValidationException if any occurs during the process of reading role typespublic java.util.Iterator<XBRLArcroleType> getArcroleTypes()
XBRLRuntimeException - encapsulating XBRLValidationException if any occurs during the process of reading arcrole typespublic void addRoleType(XBRLRoleType role)
role -
XBRLValidationExceptionpublic void delRoleType(XBRLRoleType role)
role - XBRLRoleTypepublic void addArcroleType(XBRLArcroleType arcrole)
arcrole - XBRLArcroleType definition to add to this DTS
XBRLValidationExceptionpublic void delArcroleType(XBRLArcroleType arcrole)
arcrole - XBRLArcroleTypepublic XBRLlrrAndRelationshipConstraints getLRRAndRelationshipsConstraintsChecker()
public int getNumberOfItemDeclarations()
throws XBRLValidationException
XBRLValidationException
public int getNumberOfTupleDeclarations()
throws XBRLValidationException
XBRLValidationExceptionpublic java.util.Iterator<XBRLItem> getItemDeclarations()
public java.util.Iterator<XBRLTuple> getTupleDeclarations()
public java.util.Iterator<XMLElementDefinition> getConcepts()
public java.util.Iterator<XBRLResource> getResources()
public java.util.Iterator<XBRLTaxonomy> getTaxonomyByPrefix(java.lang.String conceptPrefix)
conceptPrefix -
public java.util.Iterator<XBRLTaxonomy> getTaxonomyByNamespace(java.lang.String namespace)
namespace -
public java.util.Iterator<java.net.URI> getTaxonomyURIs()
public int getNumberOfTaxonomyURIs()
public java.util.Iterator<java.net.URI> getLinkbaseURIs()
public int getNumberOfLinkbaseURIs()
public XBRLTaxonomy getTaxonomyByURI(java.net.URI u)
u - URI of the taxonomy to retrieve
public XBRLLinkbase getLinkbaseByURI(java.net.URI u)
u - URI of the taxonomy to retrieve
public void readInfoset()
throws XBRLValidationException
XBRLValidationExceptionpublic java.lang.Iterable<XBRLExtendedLink> getExtendedLinks()
public XMLFragment getConcept(javax.xml.namespace.QName concept)
Returns a concept declaration in the DTS regardless it is a tuple, item or pure element
returns null if the concept is not defined in the DTS or if the value of the QName for the concept parameter is null
concept -
public void delConcept(javax.xml.namespace.QName concept)
concept - QName
public XBRLRelationship getRelationship(java.lang.String extendedLink,
javax.xml.namespace.QName relationshipType,
java.lang.String arcrole,
java.util.Vector<XMLFragment> attributes,
XMLFragment source,
XMLFragment target)
extendedLink - relationshipType - arcrole - attributes - source - target -
XBRLValidationExceptionpublic XBRLResource getResource(java.net.URI xpointerIdentifier)
The XPointer identifier is unique. This function may not work properly if the resource has been created programatically.
xpointerIdentifier -
public XMLFragment getResource(java.lang.String resourceRole,
javax.xml.namespace.QName resourceType,
java.lang.String content,
java.util.Vector<XMLFragment> attributes,
net.sf.saxon.value.Value<?> value,
java.util.Vector<java.lang.String> xpathChildren)
throws XBRLValidationException
resourceRole - StringresourceType - QNamecontent - String "simple" or "complex"attributes - Vectorvalue - the value for simple type resources
XBRLValidationException
public boolean isInstanceOfThisDTS(XBRLInstance instance,
int mode)
instance - mode - can be DTSContainer.FAST constant or DTSContainer.FULL (slowest) comparison. FULL comparison considers the whole DTS.
FAST comparison considers only the files explicitly referenced in this file.
public boolean isBUG368Mode()
public boolean isVersion20122501()
public XBRLInstance isInstanceOfThisDTS(javax.xml.transform.Source xmlSource,
int mode)
xmlSource - mode - can be DTSContainer.FAST constant or DTSContainer.FULL (slowest) comparison. FULL comparison considers the whole DTS.
FAST comparison considers only the files explicitly referenced in this file.
java.io.IOException
com.rs.lic.LicenseVerificationException - Thrown if the license does not allow one of the files in the DTS. Can only occurs if the license is limited to a set of files
public XBRLInstance isInstanceOfThisDTS(MultiDTSValidationFile item,
int mode)
throws java.io.IOException
item - this is a MultiDTSValidationFile instance, the instance document is read two times. One for testing the DTS and, if the
DTS is OK, to be loaded into that DTS.mode - can be DTSContainer.FAST constant or DTSContainer.FULL (slowest) comparison. FULL comparison considers the whole DTS.
FAST comparison considers only the files explicitly referenced in this file.
java.io.IOException
com.rs.lic.LicenseVerificationException - Thrown if the license does not allow one of the files in the DTS. Can only occurs if the license is limited to a set of filespublic XBRLXSDTypeDefinition getTypeDefinition(javax.xml.namespace.QName type)
This function does not find new types defined in taxonomy schemas that has not been read from XML files.
type - QName
public java.lang.String getLastResolvedSystemId()
public void addValidationException(XBRLValidationException e)
e - public void addInconsistencey(XBRLInconsistency e)
e - public XBRLValidationReport getValidationReport()
public void loadExtraSchemas()
throws XBRLSchemaException
XBRLSchemaExceptionpublic com.saxonica.schema.SchemaCompiler getSchemaCompiler()
This method is for internal use only.
public void stop()
StopableThere is no warantee the process will stop inmediatelly
stop in interface Stopablepublic boolean shouldStop()
Prior to version 2.7.0 The functions returned true if the user had requested cancellation.
Starting from version 2.7.0 this function throws an XBRLInterruptedException that is a sub class of XBRLRuntimeException captured during the load method. If the exception is produced. the DTSContainer is cleared and then the load function ends.
public XBRLPlugInProcessor getProcessor(java.lang.String processorname)
Processors are created by calling the create function of the processor main class. they automatically self register within the DTS that is used as a parameter. Further calls to the create method using the same DTS as a parameter will always return the already registered processor.
processorname - Processor token name (statically defined on each processor class)
public void registerProcessor(java.lang.String processorname,
XBRLPlugInProcessor processor)
processorname - processor - public java.util.Iterator<XBRLPlugInProcessor> getProcessors()
public boolean xEqualMode()
This is because some test cases in the formula comformance sute assumes that the comparison of XBRL entities texts are trim before thay are compared but this operation is not required in the XBRL specification.
public boolean sEqualMode()
This is because some test cases in the formula comformance sute assumes that the comparison of nodes should skip ids in nested nodes while this is not stated in the XBRL 2.1 specification.
public java.net.URI getBaseURI()
XBRL_BASE
public XMLFragment resolveXPointer(java.net.URI uriHref,
XMLDocumentURI doc)
throws XBRLValidationException
The href MUST be absolute.
uriHref - the URI to resolvedoc - XMLDocumentURI in which uriHRef exist. if null then the XMLDocumentURI is obtained from the cache. If the document has not been loaded
in the cache (it is not in the DTS) and the doc parameter is null, most likely, this function will return null.
XBRLValidationException - if the URI cannot be resolved according to the rules in the XBRL 2.1 specification
public XBRLValidationReport validate(XBRLDocument doc)
throws XBRLInitializationException
All registered processors are called in the order indicated in the PROCESSORS_SEQUENCE property.
doc - XBRL Document to validate
XBRLInitializationException - if a processor cannot be initialized
public XBRLValidationReport validate()
throws XBRLInitializationException,
com.rs.lic.LicenseVerificationException
XBRLInitializationException - If the processor under a certain name cannot be created
com.rs.lic.LicenseVerificationException - If the user has no rights to use the indicated processor
public static boolean registerProcessorFactory(java.lang.String name,
java.lang.Class<? extends XBRLProcessorFactory> clazz)
name - clazz -
public static java.lang.String[] getRegisteredProcessorNames()
public static java.lang.Class<? extends XBRLProcessorFactory> getProcessorFactory(java.lang.String processorName)
processorName -
public boolean isGeneralVariableSchemaAware()
FORMULA_PROCESSOR_GENERAL_VARIABLE_SCHEMA_AWARE for more information.
public java.net.URI getTempURL()
getBaseURI() returns null and
a URL must be set to a document prior to generate the document nodes.
If the updateXML method of the XBRLDocument class is called with this URL, no document will be written in the target directory.
public DTSContainer.Status getStatus()
public java.util.Collection<XBRLLibraryFactory> getCustomFunctionFactories()
public java.util.Iterator<javax.xml.transform.Source> getResolvedSourcesByNamespace(java.lang.String targetNamespace)
targetNamespace -
public void addSourceToCacheByNamespace(java.lang.String targetNamespace,
javax.xml.transform.Source s1)
targetNamespace - s1 - public void removeSourceFromCacheByNamespace(java.lang.String targetNamespace)
|
||||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | |||||||||