public class DTSContainer extends java.lang.Object implements Stopable, java.io.Serializable
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)
| Modifier and Type | Class and Description |
|---|---|
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
The Enum Status.
|
| Modifier and Type | Field and Description |
|---|---|
static int |
ADQUIRE_EXTENDED_LOCK
Constant to be used as flag for
specialValidation(SpecialValidationProcess, int, Object[]) the calling process will adquire the lock for the extended links so it can create temporary extended links that will be deleted before exiting validation. |
static int |
ADQUIRE_ROLETYPES_BY_EXT_LINK_LOCK
Constant to be used as flag for
specialValidation(SpecialValidationProcess, int, Object[]) The calling process will adquire the lock for the roles by extended link. |
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_ALLOWSPACESONURIS
Spaces are not allowed in the value space of an URI, but some software vendors failed to implement this rule and
this means there are URIs with spaces in some taxonomies (at the SEC there are some... and taxonomies in asian
countries might also contain space too).
|
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 |
DTS_SHOW_EXACTITUDE_DETAILS
The DTS_SHOW_EXACTITUDE_DETAILS property controls how the values for the calculation inconsistencies are
converted to strings.
|
static java.lang.String |
DTS_STORE_CACHE_ENABLE
The DTS_STORE_CACHE_ENABLE property is used to enable or disable the use of a dynamic cache.
|
static java.lang.String |
DTS_STORE_CACHE_PATH
if this property is set, during the DTS discovery process, when a file comes from the Internet, a copy of the file
will be written to a directory down on this folder.
|
static java.lang.String |
DTS_THIN
The DTS_THIN property liberates internal resources that can be obtained back from the original XML
nodes and reduces the DTS memory footprint.
|
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_EXCLUSION_FILE
The FORMULA_PROCESSOR_EXLUSION_FILE property can be set to a file name (using URI notation) that may contain formula or assertion
identifiers that the processor will skip evaluation.
|
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_NOT_SATISFIED
The FORMULA_PROCESSOR_IGNORE_ASSERTION_NOT_SATISFIED property indicates if the evaluation of assertions with "assertion not satisfied" result
will generate a message that will be added to the validation report or if the message will not be generated at all.
|
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
will generate a message that will be added to the validation report or if the message will not be generated at all.
|
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_ASSERTION_RESOURCES
The FORMULA_PROCESSOR_RETAIN_ASSERTION_RESOURCES property allows applications to access the internal resources
that were used during the evaluation of an 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 java.lang.String |
FORMULA_PROCESSOR_RETAIN_USED_FACTS
The FORMULA_PROCESSOR_RETAIN_USED_FACTS property sets the processor to record all facts from fact variables that binds to a particular formula
during assertion evaluation.
|
static java.lang.String |
FORMULA_PROCESSOR_SCHEMA_VALIDATE_EXTERNAL_DOCS
All documents in the DTS must be schema valid.
|
static java.lang.String |
FORMULA_PROCESSOR_USE_GLOBAL_PARAMETERS
The original version of the variables specification (The already approved recommendation) considers that parameters must
have arcs connecting the parameter with the variable set using it.
|
static java.lang.String |
FORMULA_PROCESSOR_USE_STRICT_SPECIFICATION_XPATH
The FORMULA_PROCESSOR_USE_STRICT_SPECIFICATION_XPATH property sets the processor to use the XPath expressions defined for filters in the
formula specification as they are written in the specifications document.
|
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
The Constant 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
The Constant 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
The Constant 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_20_FEB_2013
This configures the processor to use the specification version released on February 20 of 2013.
|
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.
|
| Modifier and Type | Method and Description |
|---|---|
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)
Adds the error.
|
void |
addInconsistencey(XBRLInconsistency e)
Adds the inconsistencey.
|
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 |
addValidationException(XBRLValidationException e)
Adds the validation exception.
|
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 |
collectTopLevelSchemaUsage(java.net.URI sourceDocumentURI,
java.lang.String namespace,
java.net.URI targetDocumentURI,
boolean bMode)
Collect top level schema usage.
|
static void |
configureJavaProxy(java.util.Properties props)
Configures java virtual machine proxy according with the properties received.
|
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)
Del document from dts.
|
void |
delResource(XBRLResource resource)
Eliminates a resource form the DTS except if the class is marked with NotRegistrableResource
interface.
|
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)
Do call install formula parameter resolver.
|
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.
|
static net.sf.saxon.s9api.Processor |
getCompatibleProcessor(net.sf.saxon.s9api.Processor compatWith,
boolean schemaAware)
Gets the compatible processor.
|
XMLElementDefinition |
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()
Gets the errors.
|
java.lang.Iterable<XBRLExtendedLink> |
getExtendedLinks()
Gets the extended links.
|
net.sf.saxon.s9api.Processor |
getFastConfiguration()
Method to access to the Processor corresponding to this DTSContainer and the status
of this DTSContainer.
|
XBRLInstance |
getInstanceByURI(java.net.URI u)
Returns an XBRLInstance that has been loaded into the
document cache using the document URI.
|
java.util.Iterator<java.net.URI> |
getInstanceURIs()
Returns an iterator over URIs of loaded instances in the
document chache.
|
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
or does not corresponds to a linkbase.
|
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 |
getNumberOfInstanceURIs()
Returns the number of XBRL Instalces in the DTS.
|
int |
getNumberOfItemDeclarations()
Gets the number of item declarations.
|
int |
getNumberOfLinkbaseURIs()
Returns the number of linkbase URIs in the DTS.
|
int |
getNumberOfTaxonomyURIs()
Returns the number of taxonomy URIs in the DTS.
|
int |
getNumberOfTupleDeclarations()
Gets the number of tuple declarations.
|
XBRLPlugInProcessor |
getProcessor(java.lang.String processorname)
Returns an already 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.
|
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)
Gets the static arcrole type by uri.
|
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)
Gets the static role type by uri.
|
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 and are loaded
into the DTS.
|
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 or null if the URI cannot be found
or does not corresponds to a taxonomy.
|
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 |
isShowExactitudeDetails()
Returns true if the DTSContainer.DTS_SHOW_EXACTITUDE_DETAILS property is set to true
|
boolean |
isThin()
Helper method to know if this DTS has the DTS_THIN property set to true
or false.
|
boolean |
isVersion20122501()
Checks if is version20122501.
|
boolean |
isVersion20132002()
Checks if is version20132002.
|
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(DTSContainer otherContainer,
java.util.Properties props)
Creates a new DTSContainer that is compatible with the Processor
suppied as a parameter.
|
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.
|
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)
Sets the root uri.
|
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.
|
java.lang.Object[] |
specialValidation(SpecialValidationProcess process,
int flags,
java.lang.Object[] arguments)
Performs a special validation process that requires adquisition of internal locks
that are only available inside the DTSContainer.
|
void |
stop()
This method will be called by another thread in order
to request the DTSContainer 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.
|
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
XBRL_VERSION_20_FEB_2013
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_VERSION_20_FEB_2013
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_DISCOVERY_ALLOWSPACESONURIS
public static final java.lang.String DTS_STORE_CACHE_PATH
public static final java.lang.String DTS_STORE_CACHE_ENABLE
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.
public static final java.lang.String DTS_THIN
The default value of this property is 'true'. It is safe to set it to either 'true' or 'false' in terms of the final result. The only tradeoff is the amount of memory and time required to perform complete loading and validation.
since version 2.8.5 the default value is now 'true'
public static final java.lang.String DTS_SHOW_EXACTITUDE_DETAILS
The default value is 'true'
public 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.
public 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_USE_STRICT_SPECIFICATION_XPATH
public static final java.lang.String FORMULA_PROCESSOR_RETAIN_USED_FACTS
The default value of this property is 'false' so, no facts are recorded. If the value is set to 'true' then facts are recorded and are accessible through methods in the XBRLAssertionResult class.
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 and save memory for not storing information that will not be used
The default value is "false", this means all messages are generated
public static final java.lang.String FORMULA_PROCESSOR_IGNORE_ASSERTION_NOT_SATISFIED
The property exists to allow for a more user friendly validation report in which only compliant assertions are reported and save memory for not storing information that will not be used
The default value is "false", this means all messages are generated
public static final java.lang.String FORMULA_PROCESSOR_RETAIN_ASSERTION_RESOURCES
Note this property may consume a lot of memory if used for all assertions in a taxonomy and the taxonomy contains a big number of assertions. For this reason it is strongly recommended this property is used in combination with either FORMULA_PROCESSOR_IGNORE_ASSERTION_SATISFIED or FORMULA_PROCESSOR_IGNORE_NOT_ASSERTION_SATISFIED set to 'true' so only assertions that are important for the consumer application generates detailed log messages.
When this property value is set to 'true' the method getEvaluatedResources() in the XBRLAssertionResult class returns the instance of the XBRLFormulaResource that serves as base for assertion evaluation. If this property value is set to 'false' the method getEvaluatedResources() returns null.
The default value is "false", this means, no detailed information will be collected, which is adequate for general validation purposes.
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 FORMULA_PROCESSOR_USE_GLOBAL_PARAMETERS
The @name attribute on a parameter declaration contains the QName of the parameter being declared. This is the QName used by the variable processor to uniquely identify the parameter when setting its value. It is not the QName by which the parameter is referenced when it is used. That QName is specified by relationship of the parameter to the resource that makes use of it.
http://www.xbrl.org/Specification/variables/REC-2009-06-22/variables-REC-2009-06-22.html#sec-parametersThe @name attribute on a parameter declaration contains the QName of the parameter being declared. This QName MAY be used within any XPath expression as a global QName to access the parameter. Additionally the parameter MAY be referenced by a QName specified on relationship of the parameter to a resource that makes use of it.
http://www.xbrl.org/Specification/variables/PER-2011-10-19/variables-PER-2011-10-19.html#sec-parameterspublic static final java.lang.String FORMULA_PROCESSOR_SCHEMA_VALIDATE_EXTERNAL_DOCS
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 FORMULA_PROCESSOR_EXCLUSION_FILE
The default value of this property is not set (or null) and means that all formulas and assertions will be evaluated.
The file can be absolute or relative. If it is relative the absolute base path to resolve the relative URI is the value of the system property "user.dir"
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
public static final int ADQUIRE_EXTENDED_LOCK
specialValidation(SpecialValidationProcess, int, Object[]) the calling process will adquire the lock for the extended links so it can create temporary extended links that will be deleted before exiting validation.
public static final int ADQUIRE_ROLETYPES_BY_EXT_LINK_LOCK
specialValidation(SpecialValidationProcess, int, Object[]) The calling process will adquire the lock for the roles by extended link.
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 instancepublic 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)
StopableregisterBar in interface Stopablebar - DTSLoadingBarInterface 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 - the resolverpublic void installFormulaParameterResolver(XBRLFormulaParametersResolver parameterResolver)
parameterResolver - the parameter resolverpublic void doCallInstallDTSURIResolver(HasCreateDTSUriResolver instanceClass)
instanceClass - instance of a class implementing the interface HasCreateDTSUriResolverpublic void doCallInstallFormulaParameterResolver(HasCreateFormulaParameterResolver instanceClass)
instanceClass - the instance classpublic void setName(java.lang.String name)
name - the new namepublic java.lang.String getName()
public void clear()
throws java.lang.Throwable
java.lang.Throwable - the throwablepublic 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 - the license verification exceptionpublic 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 - the license verification exceptionpublic 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 - the license verification exceptionpublic static DTSContainer newCompatibleContainer(DTSContainer otherContainer, java.util.Properties props) throws com.rs.lic.LicenseVerificationException
otherContainer - DTSContainer the container the new container must be compatible withprops - Properties. May be null.com.rs.lic.LicenseVerificationException - the license verification exceptionpublic static net.sf.saxon.s9api.Processor getCompatibleProcessor(net.sf.saxon.s9api.Processor compatWith,
boolean schemaAware)
compatWith - the other Processor the new processor must be cmpatible withschemaAware - the schema awarepublic static DTSContainer mergeDTSs(DTSContainer[] dtss) throws com.rs.lic.LicenseVerificationException
dtss - DTSContainer[] array of DTSs to merge into a single DTScom.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 licensepublic static DTSContainer getStaticContainer()
public void addDocumentToDTS(XBRLDTSDocument d)
d - XMLDocumentURIpublic java.lang.Object[] specialValidation(SpecialValidationProcess process, int flags, java.lang.Object[] arguments) throws XBRLValidationException
Not using this method may cause ConcurrentModificationException if one thread is using an iterator over a collection and the other thread modifies the collection.
process - this is the process implementation instanceflags - OR bitmap indicating the locks to adquire see ADQUIRE_EXTENDED_LOCK and ADQUIRE_ROLETYPES_BY_EXT_LINK_LOCKarguments - the argumentsXBRLValidationException - to allow the SpecialValidationProcess to raise any validation exceptionSpecialValidationProcesspublic void delDocumentFromDTS(XBRLDTSDocument d)
d - the dpublic void save(boolean relativize)
throws XBRLSerializationException
relativize - true if the URIs will be relativized according to the parent
document. False to absolutize all URIsXBRLSerializationException - the XBRL serialization exceptionpublic boolean isDocumentInDTS(XBRLDTSDocument d)
d - XMLDocumentURIpublic 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 forpublic 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 typepublic void addRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - the linkbase typerole - the rolepublic void delRoleTypeForExtendedLink(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - the linkbase typerole - the rolepublic boolean isBaseDefined(javax.xml.namespace.QName linkbaseType,
XBRLRoleType role)
linkbaseType - QNamerole - XBRLRoleTypepublic DTSBase getBase(javax.xml.namespace.QName linkbaseType, XBRLRoleType role)
bases are stored in a cache of returned bases to accelerate applications
if a DTSBase is not found a new empty DTSBase is created. if no DTS has been loaded or the DTS loading process was interrupted then null is returned.
if a loop of this type:
IteratoriterR = dts.getBaseRoles(DefinitionLinkbase.lbType); while (iterR.hasNext()) { XBRLRoleType rt = iterR.next(); // add it only if there are "all" relationships in there DTSBase base = dts.getBase(DefinitionLinkbase.lbType, rt); ... } }
the call to getBase may modify the surrounding iterator and produce
an exception in the next cycle. The solution is to call isBaseDefined(QName, XBRLRoleType)
before calling getBase(QName, XBRLRoleType)
a base is an object that contains a set of extended links of the same linkbaseType and role. Multiple relationships with different arcroles are inside the same base object.
linkbaseType - QNamerole - XBRLRoleTypepublic java.util.Iterator<XBRLRoleType> getBaseRoleTypes(javax.xml.namespace.QName extendedLinkQName)
extendedLinkQName - QNamepublic net.sf.saxon.s9api.Processor getConfiguration()
public void recompile()
throws DTSDiscoveryException
DTSDiscoveryException - the DTS discovery exceptionpublic void collectTopLevelSchemaUsage(java.net.URI sourceDocumentURI,
java.lang.String namespace,
java.net.URI targetDocumentURI,
boolean bMode)
sourceDocumentURI - the source document urinamespace - the namespacetargetDocumentURI - the target document uribMode - the b modepublic 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 objectpublic static void configureJavaProxy(java.util.Properties props)
props - the properties to obtain information fromfor information about the standard properties.,
for information about the proxy authenticator instancepublic 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 - the document uripublic 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 - Stringpublic XMLDocumentURI cacheGet(java.net.URI documentURI)
documentURI - the document uripublic int cacheSize()
public XMLDocumentURI getCacheElement(int index)
index - the indexpublic void cachePut(XMLDocumentURI documentURI) throws DTSDiscoveryException
documentURI - the document uriDTSDiscoveryException - the DTS discovery exceptionpublic void cacheRemove(java.net.URI documentURI)
documentURI - the document uripublic 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 cachepublic void addResource(XBRLResource resource) throws XBRLDuplicateException
resource - the resourceXBRLDuplicateException - the XBRL duplicate exceptionpublic XBRLResource getResource(XBRLResource res)
res - XBRLResourcepublic java.util.Iterator<java.lang.String> getLanguages()
public void delResource(XBRLResource resource)
resource - the resourcepublic XBRLDocument load(java.net.URI url) throws DTSDiscoveryException, com.rs.lic.LicenseVerificationException
url - a Taxonomy schema, linkbase or instance documentDTSDiscoveryException - is XBRL errors were foundcom.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 licensepublic XBRLDocument[] load(java.net.URI[] url) throws DTSDiscoveryException, com.rs.lic.LicenseVerificationException
url - an array of Taxonomy schemas, linkbases or instance documentsDTSDiscoveryException - is XBRL errors were foundcom.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 licensepublic 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 fileDTSDiscoveryException - is XBRL errors were foundcom.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 licensepublic XBRLDocument[] load(javax.xml.transform.Source[] ss) throws DTSDiscoveryException, com.rs.lic.LicenseVerificationException
ss - array of Source objectsDTSDiscoveryException - the DTS discovery exceptioncom.rs.lic.LicenseVerificationException - the license verification exceptionpublic void loadIntoConfiguration()
throws XBRLValidationException,
com.rs.lic.LicenseVerificationException
XBRLValidationException - the XBRL validation exceptioncom.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 - the new root uripublic void loadIntoConfiguration(XBRLTaxonomy taxonomy) throws net.sf.saxon.type.SchemaException
taxonomy - the taxonomynet.sf.saxon.type.SchemaException - the schema exceptionpublic void addError(java.lang.Exception e)
e - the epublic java.lang.String[] getErrors()
public XBRLArcroleType getStaticArcroleTypeByURI(java.lang.String arcrole)
arcrole - the arcrolepublic XBRLRoleType getStaticRoleTypeByURI(java.lang.String role)
role - the rolepublic java.util.Iterator<XBRLRelationship> getRelationships(DTSBase base) throws XBRLValidationException
base - DTSBase The base to be interrogatedXBRLValidationException - the XBRL validation exceptionpublic 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 forpublic java.util.Vector<XBRLRoleType> getRoleType(java.lang.String uri)
uri - String with the roleURI to search forpublic java.util.Iterator<XBRLRoleType> getRoleTypes()
public java.util.Iterator<XBRLArcroleType> getArcroleTypes()
public void addRoleType(XBRLRoleType role)
role - the rolepublic void delRoleType(XBRLRoleType role)
role - XBRLRoleTypepublic void addArcroleType(XBRLArcroleType arcrole)
arcrole - XBRLArcroleType definition to add to this DTSpublic void delArcroleType(XBRLArcroleType arcrole)
arcrole - XBRLArcroleTypepublic XBRLlrrAndRelationshipConstraints getLRRAndRelationshipsConstraintsChecker()
public int getNumberOfItemDeclarations()
throws XBRLValidationException
XBRLValidationException - the XBRL validation exceptionpublic int getNumberOfTupleDeclarations()
throws XBRLValidationException
XBRLValidationException - the XBRL validation exceptionpublic 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 - the concept prefixpublic java.util.Iterator<XBRLTaxonomy> getTaxonomyByNamespace(java.lang.String namespace)
namespace - the namespacepublic java.util.Iterator<java.net.URI> getTaxonomyURIs()
public int getNumberOfTaxonomyURIs()
public java.util.Iterator<java.net.URI> getLinkbaseURIs()
public int getNumberOfLinkbaseURIs()
public int getNumberOfInstanceURIs()
public XBRLInstance getInstanceByURI(java.net.URI u)
u - the XBRL Report URI or nullgetInstanceURIs()public java.util.Iterator<java.net.URI> getInstanceURIs()
public XBRLTaxonomy getTaxonomyByURI(java.net.URI u)
u - URI of the taxonomy to retrievepublic XBRLLinkbase getLinkbaseByURI(java.net.URI u)
u - URI of the linkbase to retrievepublic void readInfoset()
throws XBRLValidationException
XBRLValidationException - the XBRL validation exceptionpublic java.lang.Iterable<XBRLExtendedLink> getExtendedLinks()
public XMLElementDefinition 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 - the conceptpublic void delConcept(javax.xml.namespace.QName concept)
concept - QNamepublic 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 - the extended linkrelationshipType - the relationship typearcrole - the arcroleattributes - the attributessource - the sourcetarget - the targetpublic 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 - the xpointer identifierpublic 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 resourcesxpathChildren - the xpath childrenXBRLValidationException - the XBRL validation exceptionpublic boolean isInstanceOfThisDTS(XBRLInstance instance, int mode)
instance - the instancemode - 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 boolean isVersion20132002()
public boolean isThin()
public XBRLInstance isInstanceOfThisDTS(javax.xml.transform.Source xmlSource, int mode)
xmlSource - the xml sourcemode - 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 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 - Signals that an I/O exception has occurred.public 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 - QNamepublic java.lang.String getLastResolvedSystemId()
public void addValidationException(XBRLValidationException e)
e - the epublic void addInconsistencey(XBRLInconsistency e)
e - the epublic XBRLValidationReport getValidationReport()
public void loadExtraSchemas()
throws XBRLSchemaException
XBRLSchemaException - the XBRL schema exceptionpublic com.saxonica.schema.SchemaCompiler getSchemaCompiler()
This method is for internal use only.
public void stop()
StopableIt is not warranted the process will stop immediately
public 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)
This function returns the registered, loaded, and instantiated processor using the processor name as a key. This method does not instantiates the processor if it is not already registered.
Processors are created by calling the
createfunction of the processor main class. They automatically self register within the DTS that is passed in 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 - the processornameprocessor - the processorpublic 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_BASEpublic 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 specificationpublic XBRLValidationReport validate(XBRLDocument doc) throws XBRLInitializationException
All registered processors are called in the order indicated in the PROCESSORS_SEQUENCE property.
doc - XBRL Document to validateXBRLInitializationException - if a processor cannot be initializedpublic XBRLValidationReport validate() throws XBRLInitializationException, com.rs.lic.LicenseVerificationException
XBRLInitializationException - If the processor under a certain name cannot be createdcom.rs.lic.LicenseVerificationException - If the user has no rights to use the indicated processorpublic static boolean registerProcessorFactory(java.lang.String name,
java.lang.Class<? extends XBRLProcessorFactory> clazz)
name - the nameclazz - the clazzpublic static java.lang.String[] getRegisteredProcessorNames()
public static java.lang.Class<? extends XBRLProcessorFactory> getProcessorFactory(java.lang.String processorName)
processorName - the processor namepublic 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 boolean isShowExactitudeDetails()