com.ihr.xbrl.om.taxonomy
Class XBRLTaxonomy

java.lang.Object
  extended by com.ihr.xbrl.om.XMLFragment
      extended by com.ihr.xbrl.om.XMLDocumentURI
          extended by com.ihr.xbrl.om.XBRLDocument
              extended by com.ihr.xbrl.om.taxonomy.XBRLTaxonomy
All Implemented Interfaces:
XBRLRelationshipPoint, XBRLDTSDocument, XBRLHasDTSTarget, XBRLValidation, XMLHasParent, java.lang.Cloneable, javax.xml.namespace.NamespaceContext

public class XBRLTaxonomy
extends XBRLDocument

Provides the properties of an XBRL Taxonomy Information Item

The [Parent] property is the parent class XBRLDocument

Author:
Ignacio

Nested Class Summary
 
Nested classes/interfaces inherited from interface com.ihr.xbrl.om.XBRLValidation
XBRLValidation.Direction
 
Field Summary
static javax.xml.namespace.QName schemaNodeName
          The document node name
 
Fields inherited from class com.ihr.xbrl.om.XBRLDocument
INSTANCE, IXBRL, LINKBASE, TAXONOMY
 
Fields inherited from class com.ihr.xbrl.om.XMLFragment
CONCEPT_LABEL, CONCEPT_QNAME, EMPTYRELATIONSHIPSITERATORINSTANCE, EMPTYXMLFRAGMENTITERATORINSTANCE, FACT_CONCEPT_DATATYPE, FACT_CONCEPT_LABEL, FACT_QNAME, idQName, NO_POSITION, OrderComparator, PERIOD_TYPE, PERIOD_VALUE, SHORT_TEXT, SOURCE_DOCUMENT, XPATH, XPOINTER
 
Constructor Summary
XBRLTaxonomy(DTSContainer dts)
          Creates a new empty XBRLTaxonomy instance.
XBRLTaxonomy(DTSContainer dts, java.net.URI txBase, java.net.URI txUri, boolean bAddToCache, XBRLDTSDocument parent)
          Creates a new XBRLTaxonomy instance.
XBRLTaxonomy(XMLDocumentURI docURI, boolean bAddToCache)
          Creates a new XBRLTaxonomy instance from an XMLDocumentURI.
 
Method Summary
 void addArcroleType(XBRLArcroleType arcrole)
          Adds a new arcrole type to the set of arcrole types defined in this taxonomy.
 void addElement(XMLElementDefinition newElement)
          Add a new element to the taxonomy
 void addGlobalAttribute(XMLFragment attributeDefinitionHeaderNode)
          Adds a new global attribute definition to this taxonomy schema.
 void addGlobalAttributeGroup(XMLFragment attributeGroupDefinitionHeaderNode)
          Adds a new global attributeGroup definition to this taxonomy schema.
 void addGlobalGroup(XMLFragment groupDefinitionHeaderNode)
          Adds a new global attributeGroup definition to this taxonomy schema.
 void addGlobalType(XMLFragment typeDefinitionHeaderNode)
          Adds a new global type definition to this taxonomy schema.
 void addImport(XBRLImport imp)
          Adds a new import to this taxonomy
 void addInclude(XBRLInclude inc)
          Adds an XBRLInclude to this taxonomy
 void addLinkbase(XBRLLinkbase linkbase)
          Adds a linkbase object to this taxonomy.
 void addRoleType(XBRLRoleType role)
          Adds a new role type to the set of role types defined in this taxonomy.
 void addXMLChild(XMLHasParent child)
           
 void clear()
          Frees-up used memory This method should not be invoqued on live objects in the DTS.
 XMLElementDefinition convertNodeInfo(net.sf.saxon.s9api.XdmNode ni)
          This method is used internally by the XBRL API in order to create an XMLElementDefinition from an XdmNode
 void delElement(XMLElementDefinition element)
          Deletes an element from the taxonomy This function will not delete the relationships the element participates on.
 boolean delGlobalAttribute(java.lang.String name)
          Removes a Global attribute definition from this taxonomy schema.
 boolean delGlobalAttributeGroup(java.lang.String name)
          Removes a Global attributeGroup definition from this taxonomy schema.
 boolean delGlobalGroup(java.lang.String name)
          Removes a Global group definition from this taxonomy schema.
 boolean delGlobalType(java.lang.String name)
          Removes a Global Type definition from this taxonomy schema.
 void discoverDTS(XBRLDTSDocument parent)
          All derived classes MUST implement this method and provide the functionality according to section 3.2 of the XBRL 2.1 specification
 org.jdom.Document generateDocNode(boolean relativize, java.net.URI base)
          This class has to be implemented by objects derived from XBRLDocument and must return a org.jdom.Document node with the content of this XBRLDocument object
 XBRLArcroleType getArcroleTypeByURI(java.lang.String uri)
          Access to an arcrole type definition for a given URI if that arcrole type exists on this taxonomy. returns null if there is no such arcrole type for the given URI.
 java.util.Iterator<XBRLArcroleType> getArcroleTypes()
          Returns an iterator over all arcrole types defined in this taxonomy.
 java.util.Iterator<XMLElementDefinition> getConcepts()
          Access to the [Concepts] property This method does not return non XBRL concep definitions
 int getDTSDocumentType()
          Returns the type of DTS Document
 java.lang.String getDTSDocumentTypeName()
           
 XMLElementDefinition getElementDefinitionById(java.lang.String id)
          Finds the element definition based on the element name and returns an XMLDocument that can be an XMLDocument, an XBRLItem or an XBRLTuple Returns null if not found
 XMLFragment getElementDefinitionByName(java.lang.String name)
          Finds the element definition based on the element name and returns an XMLDocument that can be an XMLFragment, an XBRLItem or an XBRLTuple Returns null if not found
 java.util.Iterator<XMLFragment> getElements()
          For complex type resources this returns an iterator with all children XML fragments Tthis method may be overwriten by other classes in the hierarchy
 XBRLExtendedLink getExtendedLink(net.sf.saxon.s9api.XdmNode key)
           
 java.lang.String getFriendlyName()
          Returns a string description that represents the element content in a form that users can understand.
 java.util.Iterator<java.lang.String> getGlobalAtributeGroups()
          Access to an iterator over all global attribute groups
 XMLFragment getGlobalAttributeByName(java.lang.String name)
          Returns a global attribute defined in this taxonomy schema by its name.
 XMLFragment getGlobalAttributeGroupByName(java.lang.String name)
          Returns a global attributeGroup defined in this taxonomy schema by its name.
 java.util.Iterator<java.lang.String> getGlobalAttributes()
          Access to an iterator over all global attributes
 XMLFragment getGlobalGroupByName(java.lang.String name)
          Returns a global group defined in this taxonomy schema by its name.
 java.util.Iterator<java.lang.String> getGlobalGroups()
          Access to an iterator over all element groups defined
 XMLFragment getGlobalTypeByName(java.lang.String name)
          Returns a global type defined in this taxonomy schema by its name or null if the taxonomy schema has no a definition for a global type under the type name used in the name parameter.
 java.util.Iterator<java.lang.String> getGlobalTypes()
          Access to an iterator over all global types defined in the taxonomy.
 XBRLTaxonomy getImport(java.net.URI namespace)
          Return the XBRLTaxonomy imported for the namespace or null if the schema for the namespace is not imported.
 java.util.Iterator<XBRLImport> getImports()
          Return an iterator of all defined imports
 java.util.Iterator<XBRLInclude> getIncludes()
          Access to the includes declared on this taxonomy
 java.util.Iterator<XBRLItem> getItems()
          Access to the [Items] property
 java.util.Iterator<XBRLLinkbase> getLinkbases()
          Return an iterator of all defined linkbases
 int getNumberOfItemDeclarations()
          Returns the number of XBRL items defined in this XBRLTaxonomy.
 int getNumberOfTupleDeclarations()
          Returns the number of XBRL tuples defined in this XBRLTaxonomy.
 XBRLRoleType getRoleTypeByURI(java.lang.String uri)
          Access to a role type definition for a given URI if that role type exists on this taxonomy. returns null if there is no such role type for the given URI.
 java.util.Iterator<XBRLRoleType> getRoleTypes()
          Returns an iterator over all role types defined in this taxonomy.
 com.saxonica.schema.PreparedSchema getSchema()
          Deprecated. 
 java.lang.String getTargetNamespace()
          Access to the [Namespace] Property
 java.util.Iterator<XBRLTuple> getTuples()
          Access to the [Tuples] property
 void readInfoset()
          Read all structures that builds the infoset
 void removeArcroleType(XBRLArcroleType arcrole)
          Removes an arcrole type from the set of arcrole types defined in this taxonomy.
 void removeImport(XBRLImport imp)
          Remove an existing import
 boolean removeInclude(XBRLInclude inc)
          Removes am include form this taxonomy
 void removeLinkbase(XBRLLinkbase linkbase)
          Removes a linkbase object that is referenced in this taxonomy.
 void removeRoleType(XBRLRoleType role)
          Removes a role type from the set of role types defined in this taxonomy.
 void removeXMLChild(XMLHasParent child)
           
 void setDocumentAndReload(net.sf.saxon.s9api.XdmNode node)
          This method is called by the XMLFragment object each time the surrounding XdmNode object is set.
 void setTargetNamespace(java.lang.String targetNamespace)
          Sets or changes the targetNamespace for this schema
 
Methods inherited from class com.ihr.xbrl.om.XBRLDocument
addExtendedLink, addIdOfElement, addIdOfElement, addParent, changeElementId, changeExtendedLinkKey, createDocument, createDocument, delParent, equals, getAllUsedIds, getComments, getDocument, getDTS, getElementById, getExtendedLinks, getExtendedLinks, getParents, hashCode, isIdUsed, moveNamespacesUp, removeExtendedLink, removeIdOfElement, save, setComments, updateXML
 
Methods inherited from class com.ihr.xbrl.om.XMLDocumentURI
addChild, delChild, generateLocatorToDocument, getBase, getChildren, getDocumentURI, getDTSKey, getLocalFile, getValidationReport, invalidate, invalidate, isInDTS, isOnValidation, setURI, validate
 
Methods inherited from class com.ihr.xbrl.om.XMLFragment
addAttribute, addChild, addFromRelationship, addNamespace, addNamespace, addToRelationship, changeBase, checkBase, clone, clone, delAttribute, delAttribute, equalXdmValues, evaluateBoolean, evaluateList, evaluateNode, evaluateNumber, evaluateString, generateId, generateNode, generateNodeNamespacesAndAttributes, generateNodeValue, generatePrefix, getAttribute, getAttributeQNameValue, getAttributes, getAttributes, getAttributeStringValue, getAttributeValue, getBase, getBaseURI, getBooleanValue, getChild, getContainer, getContainerDocumentURI, getDeclaredNamespaces, getFragment, getFriendlyName, getFromRelationships, getFromRelationships, getFromRelationships, getFromRelationships, getId, getLang, getNamespaceURI, getNodeName, getNumberOfAttributes, getNumberOfElements, getNumberOfFromRelationships, getNumberOfToRelationships, getOrGenerateId, getParent, getPrefix, getPrefixes, getQNameValue, getRelationshipsBases, getRelationshipsChain, getRelationshipTypes, getStaticNamespace, getStringValue, getToRelationships, getToRelationships, getToRelationships, getToRelationships, getValue, getXPathNamespaceContext, getXPathToNode, getXPathToRoot, getXPointerElementScheme, getXPointerElementScheme, getXPointerShorthandScheme, getXPointerToNode, isDead, isNamespaceDefined, objEquals, objHashCode, qNameToString, removeAttribute, removeChild, removeChild, removeFromRelationship, removeToRelationship, resetElements, resetHash, resolveHRef, resolveHRef, s_equal2, s_equal2, setAttributes, setBase, setDocument, setElements, setId, setLang, setNamespaceContext, setNamespaces, setNode, setNodeName, setParent, setValue, setValue, setVariablesDefined, toString, valueEquals, xEqual
 
Methods inherited from class java.lang.Object
getClass, notify, notifyAll, wait, wait, wait
 

Field Detail

schemaNodeName

public static final javax.xml.namespace.QName schemaNodeName
The document node name

Constructor Detail

XBRLTaxonomy

public XBRLTaxonomy(DTSContainer dts,
                    java.net.URI txBase,
                    java.net.URI txUri,
                    boolean bAddToCache,
                    XBRLDTSDocument parent)
             throws DTSDiscoveryException
Creates a new XBRLTaxonomy instance. The document content is read from cache of documents already read, if it is not there, then the URI content is read (using standard document content resolution). The content is added to the cache if the value of the bAddToCache parameter is true. The taxonomy is attached to the parent document.

Parameters:
dts - current DTSContainer for the new XBRLTaxonomy
txBase - the base URI for the creation of this taxonomy
txUri - the taxonomy URI (official absolute URI)
bAddToCache - boolean, true if the document should be added to the DTSContainer cache of read documents.
parent - XBRLDTSDocument that is the parent of this document, this is only used if there are errors reading the document. Can be null.
Throws:
DTSDiscoveryException

XBRLTaxonomy

public XBRLTaxonomy(XMLDocumentURI docURI,
                    boolean bAddToCache)
             throws DTSDiscoveryException
Creates a new XBRLTaxonomy instance from an XMLDocumentURI. This constructor is for internal purposes of the API.

Parameters:
docURI -
bAddToCache -
Throws:
DTSDiscoveryException

XBRLTaxonomy

public XBRLTaxonomy(DTSContainer dts)
Creates a new empty XBRLTaxonomy instance. The new XBRLTaxonomy will be totally empty. Use this constructor if you wish to define all taxonomy properties later using other API calls.

The taxonomy will not have any parent object and will not be added to the set of taxonomies that belongs to the DTSContainer object. See DTSContainer.addDocumentToDTS(XBRLDTSDocument) in order to allow DTSContainer.save(boolean) to serialize the taxonomy to XML nodes. Don't forget to set a file name to this taxonomy before calling the save method. see XMLDocumentURI.setURI(URI) for more information.

Parameters:
dts - the DTSContainer object.
Method Detail

clear

public void clear()
           throws java.lang.Throwable
Description copied from class: XMLFragment
Frees-up used memory

This method should not be invoqued on live objects in the DTS. It is automatically invoqued by the API when an object is no longer used and referenced by other objects. It is save not to call it directly.

Specified by:
clear in interface XBRLDTSDocument
Overrides:
clear in class XBRLDocument
Throws:
java.lang.Throwable

setDocumentAndReload

public void setDocumentAndReload(net.sf.saxon.s9api.XdmNode node)
                          throws XBRLInconsistentDTSException,
                                 com.rs.lic.LicenseVerificationException
Description copied from class: XMLFragment
This method is called by the XMLFragment object each time the surrounding XdmNode object is set. This happens internally by the XBRL API after XML Schema validation is performed so the surrounding XML nodes acquire type information.

Overwrite this method in parent objects in order to refresh objects that depends on the surrounding XML nodes.

Overrides:
setDocumentAndReload in class XBRLDocument
Parameters:
node - the new XdmNode
Throws:
XBRLInconsistentDTSException
com.rs.lic.LicenseVerificationException

getSchema

@Deprecated
public com.saxonica.schema.PreparedSchema getSchema()
Deprecated. 

This method is not used and should not be used.

Returns:
PreparedSchema from surrounding Saxon API.

getTargetNamespace

public java.lang.String getTargetNamespace()
Access to the [Namespace] Property

Returns:
the targetNamespace property or null if not set

setTargetNamespace

public void setTargetNamespace(java.lang.String targetNamespace)
Sets or changes the targetNamespace for this schema

Parameters:
targetNamespace -

getDTSDocumentType

public int getDTSDocumentType()
Description copied from class: XBRLDocument
Returns the type of DTS Document

Specified by:
getDTSDocumentType in class XBRLDocument
Returns:
DTSDocument.INSTANCE, DTSDocument.TAXONOMY or DTSDocument.LINKBASE

getConcepts

public java.util.Iterator<XMLElementDefinition> getConcepts()
Access to the [Concepts] property This method does not return non XBRL concep definitions

Returns:
Iterator
Throws:
XBRLValidationException

getItems

public java.util.Iterator<XBRLItem> getItems()
Access to the [Items] property

Returns:
Iterator
Throws:
XBRLValidationException

getTuples

public java.util.Iterator<XBRLTuple> getTuples()
Access to the [Tuples] property

Returns:
Iterator
Throws:
XBRLValidationException

addElement

public void addElement(XMLElementDefinition newElement)
Add a new element to the taxonomy

Parameters:
newElement -
Throws:
XBRLDuplicateException - if the element name already exist or the id is already used by another element

delElement

public void delElement(XMLElementDefinition element)
Deletes an element from the taxonomy

This function will not delete the relationships the element participates on. If the desire is to remove the concept from the taxonomy and the relationships form existing extended links use the DTSContainer.delConcept(QName) method instead.

Parameters:
element -

getElementDefinitionByName

public XMLFragment getElementDefinitionByName(java.lang.String name)
Finds the element definition based on the element name and returns an XMLDocument that can be an XMLFragment, an XBRLItem or an XBRLTuple Returns null if not found

Parameters:
name - Element name
Returns:
XMLFragment
Throws:
XBRLValidationException

getElementDefinitionById

public XMLElementDefinition getElementDefinitionById(java.lang.String id)
                                              throws XBRLValidationException
Finds the element definition based on the element name and returns an XMLDocument that can be an XMLDocument, an XBRLItem or an XBRLTuple Returns null if not found

Parameters:
id - Element id
Returns:
XMLFragment
Throws:
XBRLValidationException

getDTSDocumentTypeName

public java.lang.String getDTSDocumentTypeName()
Specified by:
getDTSDocumentTypeName in class XBRLDocument

getIncludes

public java.util.Iterator<XBRLInclude> getIncludes()
Access to the includes declared on this taxonomy

Returns:
iterator over all includes on this taxonomy
Since:
2.6.8

getImports

public java.util.Iterator<XBRLImport> getImports()
Return an iterator of all defined imports

Returns:
Iterator<XBRLImport>

getGlobalTypeByName

public XMLFragment getGlobalTypeByName(java.lang.String name)
Returns a global type defined in this taxonomy schema by its name or null if the taxonomy schema has no a definition for a global type under the type name used in the name parameter.

Parameters:
name - the type name
Returns:
an XMLFragment that is the header node of the type definition in the taxonomy
Since:
2.6.7

getGlobalTypes

public java.util.Iterator<java.lang.String> getGlobalTypes()
Access to an iterator over all global types defined in the taxonomy. They can be either simple types or complex types.

Returns:
Iterator<String>
Since:
2.6.7

getGlobalAttributeByName

public XMLFragment getGlobalAttributeByName(java.lang.String name)
Returns a global attribute defined in this taxonomy schema by its name.

Parameters:
name - the attribute name
Returns:
an XMLFragment that is the header node of the attribute definition in the taxonomy
Since:
2.6.7

getGlobalAttributes

public java.util.Iterator<java.lang.String> getGlobalAttributes()
Access to an iterator over all global attributes

Returns:
Iterator<String>
Since:
2.6.7

getGlobalAttributeGroupByName

public XMLFragment getGlobalAttributeGroupByName(java.lang.String name)
Returns a global attributeGroup defined in this taxonomy schema by its name.

Parameters:
name - the attributeGroup name
Returns:
an XMLFragment that is the header node of the attributeGroup definition in the taxonomy
Since:
2.6.7

getGlobalAtributeGroups

public java.util.Iterator<java.lang.String> getGlobalAtributeGroups()
Access to an iterator over all global attribute groups

Returns:
Iterator<String>
Since:
2.6.7

getGlobalGroupByName

public XMLFragment getGlobalGroupByName(java.lang.String name)
Returns a global group defined in this taxonomy schema by its name.

Parameters:
name - the group name
Returns:
an XMLFragment that is the header node of the group definition in the taxonomy
Since:
2.6.7

getGlobalGroups

public java.util.Iterator<java.lang.String> getGlobalGroups()
Access to an iterator over all element groups defined

Returns:
Iterator<String>
Since:
2.6.7

delGlobalType

public boolean delGlobalType(java.lang.String name)
Removes a Global Type definition from this taxonomy schema. It will not be serialized back to XML nodes.

Parameters:
name - the global type name
Returns:
boolean, true if successfully deleted
Since:
2.6.7

delGlobalAttribute

public boolean delGlobalAttribute(java.lang.String name)
Removes a Global attribute definition from this taxonomy schema. It will not be serialized back to XML nodes.

Parameters:
name - the global attribute name
Returns:
boolean, true if successfully deleted
Since:
2.6.7

delGlobalAttributeGroup

public boolean delGlobalAttributeGroup(java.lang.String name)
Removes a Global attributeGroup definition from this taxonomy schema. It will not be serialized back to XML nodes.

Parameters:
name - the global attributeGroup name
Returns:
boolean, true if successfully deleted
Since:
2.6.7

delGlobalGroup

public boolean delGlobalGroup(java.lang.String name)
Removes a Global group definition from this taxonomy schema. It will not be serialized back to XML nodes.

Parameters:
name - the global group name
Returns:
boolean, true if successfully deleted
Since:
2.6.7

addGlobalType

public void addGlobalType(XMLFragment typeDefinitionHeaderNode)
Adds a new global type definition to this taxonomy schema.

The parameter must contain all nodes representing the type definition as nested XMLFragment objects

Parameters:
typeDefinitionHeaderNode - the first XMLFragment object. Must be a complexType node or a simpleType node with an attribute o name "name". the attribute value will be used in order to obtain the type name.
Since:
2.6.7

addGlobalAttribute

public void addGlobalAttribute(XMLFragment attributeDefinitionHeaderNode)
Adds a new global attribute definition to this taxonomy schema.

The parameter must contain all nodes representing the attribute definition as nested XMLFragment objects

Parameters:
attributeDefinitionHeaderNode - the first XMLFragment object. Must be a xs:attribute node with an attribute named "name". the attribute value will be used in order to obtain the attribute name.
Since:
2.6.7

addGlobalAttributeGroup

public void addGlobalAttributeGroup(XMLFragment attributeGroupDefinitionHeaderNode)
Adds a new global attributeGroup definition to this taxonomy schema.

The parameter must contain all nodes representing the attributeGroup definition as nested XMLFragment objects

Parameters:
attributeGroupDefinitionHeaderNode - the first XMLFragment object. Must be a xs:attributeGroup node with an attribute named "name". the attribute value will be used in order to obtain the attribute name.
Since:
2.6.7

addGlobalGroup

public void addGlobalGroup(XMLFragment groupDefinitionHeaderNode)
Adds a new global attributeGroup definition to this taxonomy schema.

The parameter must contain all nodes representing the attributeGroup definition as nested XMLFragment objects

Parameters:
groupDefinitionHeaderNode - the first XMLFragment object. Must be a xs:attributeGroup node with an attribute named "name". the attribute value will be used in order to obtain the attribute name.
Since:
2.6.7

getImport

public XBRLTaxonomy getImport(java.net.URI namespace)
Return the XBRLTaxonomy imported for the namespace or null if the schema for the namespace is not imported.

Parameters:
namespace -
Returns:
XBRLTaxonomy
Throws:
XBRLValidationException

getLinkbases

public java.util.Iterator<XBRLLinkbase> getLinkbases()
Return an iterator of all defined linkbases

Returns:
Iterator
Throws:
XBRLValidationException - if duplicate IDs exists on extended links or the links are not XBRL linkbases

addLinkbase

public void addLinkbase(XBRLLinkbase linkbase)
Adds a linkbase object to this taxonomy. The linkbase can be embedded or external. this piece of information is put in the parent of the linkbase object. If the parent is a taxonomy then it is a embedded linkbase. if the parent is the linkbase itself then it is an external linkbase.

Parameters:
linkbase -
Throws:
XBRLInconsistentDTSException

removeLinkbase

public void removeLinkbase(XBRLLinkbase linkbase)
Removes a linkbase object that is referenced in this taxonomy. The linkbase can be embedded or external.

Parameters:
linkbase - to remove

getExtendedLink

public XBRLExtendedLink getExtendedLink(net.sf.saxon.s9api.XdmNode key)
                                 throws DTSDiscoveryException
Overrides:
getExtendedLink in class XBRLDocument
Throws:
DTSDiscoveryException

discoverDTS

public void discoverDTS(XBRLDTSDocument parent)
                 throws DTSDiscoveryException,
                        com.rs.lic.LicenseVerificationException
Description copied from class: XBRLDocument
All derived classes MUST implement this method and provide the functionality according to section 3.2 of the XBRL 2.1 specification

Specified by:
discoverDTS in interface XBRLDTSDocument
Specified by:
discoverDTS in class XBRLDocument
Throws:
DTSDiscoveryException
com.rs.lic.LicenseVerificationException

addRoleType

public void addRoleType(XBRLRoleType role)
Adds a new role type to the set of role types defined in this taxonomy.

The XBRLRoleType object automatically calls this method when a parent is set to a role type.

Parameters:
role - XBRLRoleType to be added
Throws:
XBRLDuplicateException - if there is another roleType for the same URI

removeRoleType

public void removeRoleType(XBRLRoleType role)
Removes a role type from the set of role types defined in this taxonomy.

The XBRLRoleType object automatically calls this method when a parent is set to a role type.

Parameters:
role - XBRLRoleType to be removed

getRoleTypes

public java.util.Iterator<XBRLRoleType> getRoleTypes()
Returns an iterator over all role types defined in this taxonomy.

Returns:
Iterator<XBRLRoleType> object

getRoleTypeByURI

public XBRLRoleType getRoleTypeByURI(java.lang.String uri)
Access to a role type definition for a given URI if that role type exists on this taxonomy. returns null if there is no such role type for the given URI.

Parameters:
uri - as a String
Returns:
XBRLRoleType

addArcroleType

public void addArcroleType(XBRLArcroleType arcrole)
Adds a new arcrole type to the set of arcrole types defined in this taxonomy.

The XBRLArcroleType object automatically calls this method when a parent is set to an arcrole type.

Parameters:
arcrole - XBRLArcroleType to be added
Throws:
XBRLDuplicateException - if there is another roleType for the same URI

removeArcroleType

public void removeArcroleType(XBRLArcroleType arcrole)
Removes an arcrole type from the set of arcrole types defined in this taxonomy.

The XBRLArcroleType object automatically calls this method when a parent is set to an arcrole type.

Parameters:
arcrole - XBRLArcroleType to be removed

getArcroleTypes

public java.util.Iterator<XBRLArcroleType> getArcroleTypes()
Returns an iterator over all arcrole types defined in this taxonomy.

Returns:
Iterator<XBRLArcroleType> object

getArcroleTypeByURI

public XBRLArcroleType getArcroleTypeByURI(java.lang.String uri)
Access to an arcrole type definition for a given URI if that arcrole type exists on this taxonomy. returns null if there is no such arcrole type for the given URI.

Parameters:
uri - as a String
Returns:
XBRLArcroleType

convertNodeInfo

public XMLElementDefinition convertNodeInfo(net.sf.saxon.s9api.XdmNode ni)
                                     throws XBRLValidationException
This method is used internally by the XBRL API in order to create an XMLElementDefinition from an XdmNode

Parameters:
ni - XdmNode
Returns:
XMLElementDefinition
Throws:
XBRLValidationException

readInfoset

public void readInfoset()
                 throws XBRLValidationException
Description copied from class: XBRLDocument
Read all structures that builds the infoset

Specified by:
readInfoset in class XBRLDocument
Throws:
XBRLValidationException

getNumberOfItemDeclarations

public int getNumberOfItemDeclarations()
Returns the number of XBRL items defined in this XBRLTaxonomy.

This is concept definitions that are in the xbrli:item substitution group or has xbrli:item on any on its ancestors in the substitution group hierarchy.

Returns:
integer

getNumberOfTupleDeclarations

public int getNumberOfTupleDeclarations()
Returns the number of XBRL tuples defined in this XBRLTaxonomy.

This is concept definitions that are in the xbrli:tuple substitution group or has xbrli:tuple on any on its ancestors in the substitution group hierarchy.

Returns:
integer

generateDocNode

public org.jdom.Document generateDocNode(boolean relativize,
                                         java.net.URI base)
                                  throws XBRLSerializationException
Description copied from class: XBRLDocument
This class has to be implemented by objects derived from XBRLDocument and must return a org.jdom.Document node with the content of this XBRLDocument object

Specified by:
generateDocNode in class XBRLDocument
Parameters:
relativize - boolean indicating if all URIs must be relativized
base - URI the base uri to relativize other URIs
Returns:
org.jdom.Document
Throws:
XBRLSerializationException

removeImport

public void removeImport(XBRLImport imp)
Remove an existing import

Parameters:
imp - XBRLImport

addInclude

public void addInclude(XBRLInclude inc)
Adds an XBRLInclude to this taxonomy

Parameters:
inc -
Since:
2.6.8

removeInclude

public boolean removeInclude(XBRLInclude inc)
Removes am include form this taxonomy

Parameters:
inc -
Returns:
boolean true if successfully removed
Since:
2.6.8

addXMLChild

public void addXMLChild(XMLHasParent child)
                 throws XBRLInconsistentDTSException
Specified by:
addXMLChild in interface XMLHasParent
Overrides:
addXMLChild in class XMLFragment
Throws:
XBRLInconsistentDTSException

removeXMLChild

public void removeXMLChild(XMLHasParent child)
Specified by:
removeXMLChild in interface XMLHasParent
Overrides:
removeXMLChild in class XMLFragment

addImport

public void addImport(XBRLImport imp)
               throws XBRLInconsistentDTSException
Adds a new import to this taxonomy

Parameters:
imp - XBRLImport
Throws:
XBRLInconsistentDTSException

getElements

public java.util.Iterator<XMLFragment> getElements()
Description copied from class: XMLFragment
For complex type resources this returns an iterator with all children XML fragments Tthis method may be overwriten by other classes in the hierarchy

Overrides:
getElements in class XMLFragment
Returns:
Iterator

getFriendlyName

public java.lang.String getFriendlyName()
Description copied from class: XMLFragment
Returns a string description that represents the element content in a form that users can understand. This method may be overridden by parent classes.

Remarks, this method may return very long names not suitable for user interface

Overrides:
getFriendlyName in class XMLFragment
Returns:
Non empty String. Internationalization is enabled


Copyright 2006-2009 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa