public class ESEFProcessor extends java.lang.Object implements XBRLPlugInProcessor, IXBRLReceiver, LicensedProcessor
Modifier and Type | Class and Description |
---|---|
static class |
ESEFProcessor.ConceptSource
Used to determine who creates the concept based on the
concept namespace.
|
class |
ESEFProcessor.ESEF_3_1_1_Error
The Class ESEF_3_1_1_Error.
|
Modifier and Type | Field and Description |
---|---|
static java.lang.String |
ESEF_COR_NAMESPACE_2017
The Constant ESEF_COR_NAMESPACE_2017.
|
static java.lang.String |
ESEF_COR_NAMESPACE_2019
The Constant ESEF_COR_NAMESPACE_2019.
|
static java.lang.String |
ESEF_COR_NAMESPACE_2020
The Constant ESEF_COR_NAMESPACE_2020.
|
static java.lang.String |
ESEF_VERSION
The ESEF_VERSION property indicates the version of the ESEF Reporting Manual
to be used.
|
static java.lang.String |
ESEF_VERSION_DEC072020
The Constant ESEF_VERSION_DEC072020.
|
static java.lang.String |
ESEF_VERSION_DEC182017
The EBA_VERSION_42 property indicates the processor will use EBA rules in the version 4.2 of
the EBA document.
|
static java.lang.String |
ESEF_VERSION_JUL122019
The Constant ESEF_VERSION_JUL122019.
|
static java.lang.String |
esmaBlockDefaultUseOfLineItemsScenario
The esma block default use of line items scenario.
|
static java.lang.String |
esmaBlockDefaultUseOfLineItemsSegment
The esma block default use of line items segment.
|
static java.lang.String |
esmaDefaultsRole
The esma defaults role.
|
static java.lang.String |
esmaDefaultsRole2020 |
static java.lang.String |
esmaLineItemsNotDimensionalyQualifiedRole
The esma line items not dimensionally qualified role final.
|
static java.lang.String |
esmaLineItemsNotDimensionalyQualifiedRole2017
The esma line items not dimensionally qualified role 2017.
|
static javax.xml.namespace.QName |
LineItemsNotDimensionallyQualifiedHypercube2017
The Constant LineItemsNotDimensionallyQualifiedHypercube2017.
|
static javax.xml.namespace.QName |
LineItemsNotDimensionallyQualifiedHypercube2019
The Constant LineItemsNotDimensionallyQualifiedHypercube2019.
|
static javax.xml.namespace.QName |
LineItemsNotDimensionallyQualifiedHypercube2020
The Constant LineItemsNotDimensionallyQualifiedHypercube2020.
|
static java.lang.String |
PROCESSORNAME
The Constant PROCESSORNAME.
|
static java.lang.String |
widerNarrower
The Constant widerNarrower.
|
Modifier and Type | Method and Description |
---|---|
void |
attribute(net.sf.saxon.om.NodeName attName,
net.sf.saxon.type.SimpleType typeCode,
java.lang.CharSequence value,
int locationId,
int properties)
Attribute.
|
void |
characters(java.lang.CharSequence chars,
int locationId,
int properties)
Characters.
|
void |
clear()
Clear.
|
void |
configure(java.util.Properties properties)
Configure.
|
static ESEFProcessor |
create(DTSContainer dts)
Obtains the instance of the EBAProcessor that has been registered for this DTS.
|
void |
endDocument()
End document.
|
void |
endElement()
End element.
|
static java.util.Set<javax.xml.namespace.QName> |
getAllowedDomainItemTypes()
Access to a set of QNames representing the type names that are valid for recognizing
an element is declared to be a domain member.
|
static ESEFProcessor.ConceptSource |
getConceptSource(javax.xml.namespace.QName conceptName)
Computes if a concept definition belongs to a taxonomy extension or to the base taxonomies
Remarks: This method uses regular expressions to determine if the concept namespace is
from the IFRS taxonomy or the well known ESMA taxonomy set.
|
DTSContainer |
getContainer()
Gets the container.
|
java.lang.String |
getDescription()
Gets the description.
|
static java.lang.String |
getDescriptionStatic()
Obtains the description of this processor regardless of the instance.
|
java.lang.String |
getDocumentLanguage()
In the event the <html> root node contains xml:lang this returns the value of that language
otherwise this returns null.
|
DuplicatesAnalyzer |
getDuplicatesAnalyzer()
Obtains an instance of a class that performs analysis of duplicate facts
|
java.lang.String |
getEsmaDefaultsRole() |
java.lang.String |
getEsmaLineItemsNotDimensionalyQualifiedRole()
Esma line items not dimensionaly qualified role.
|
java.util.Set<XMLElementDefinition> |
getExtensionConcepts()
Returns a set of concept definitions that belongs to extension taxonomies.
|
java.util.Set<XMLElementDefinition> |
getExtensionDimensions()
Returns a set of extension dimensions.
|
java.util.Set<XMLElementDefinition> |
getExtensionHypercubes()
Returns a set of extension hypercubes.
|
java.util.Set<XMLElementDefinition> |
getExtensionMembers()
Returns a set of extension members.
|
java.util.Set<XBRLTaxonomy> |
getExtensionTaxonomies()
Returns a set of extension taxonomies.
|
java.util.Set<java.lang.String> |
getLanguagesUsedInNonNumericFacts()
Gets the languages used in non numeric facts.
|
java.util.Set<XMLElementDefinition> |
getLineItemsNotDimensionallyQualified()
Returns a collection (unordered) of concept definitions that are children of LineItemsNotDimensionallyQualifiedHypercube
in the 999999 role
This method is thread safe.
|
XMLElementDefinition |
getLineItemsNotDimensionallyQualifiedPlaceholder()
Gets the line items not dimensionally qualified placeholder.
|
java.lang.String |
getName()
Gets the name.
|
static java.lang.String |
getPropertyKey(java.lang.String ruleCode)
For internal use.
|
XBRLArcroleType |
getWiderNarrowerArcroleType()
Gets the wider narrower arcrole type.
|
static boolean |
isESMANamespace(java.lang.String namespaceURI)
Returns true when the namespaceURI matches the rules of the ESMA official namespace.
|
boolean |
isExtensionRole(XBRLRoleType roleKey)
Checks if is extension role.
|
boolean |
isHidden()
Checks if is hidden.
|
static boolean |
isIFRSNamespace(java.lang.String namespaceURI)
Returns true when the namespaceURI matches the rules of the IFRS official namespace.
|
boolean |
isLicensed()
Checks if is licensed.
|
boolean |
isValidating2017()
Checks if is validating 2017.
|
boolean |
isValidating2019()
Checks if is validating 2019.
|
boolean |
isValidating2020()
Checks if is validating 2020.
|
void |
namespace(net.sf.saxon.om.NamespaceBinding namespaceBinding,
int properties)
Namespace.
|
static void |
registerProcessorStatic()
Register processor static.
|
void |
reset()
Reset.
|
void |
setSystemId(java.lang.String systemId)
Sets the system id.
|
void |
startDocument(int properties)
Start document.
|
void |
startElement(net.sf.saxon.om.NodeName elemName,
net.sf.saxon.type.SchemaType typeCode,
int locationId,
int properties)
Start element.
|
XBRLValidationReport |
validate()
Validate.
|
XBRLValidationReport |
validate(XBRLDocument instance)
Validate.
|
public static final java.lang.String PROCESSORNAME
public static final java.lang.String widerNarrower
public static java.lang.String esmaLineItemsNotDimensionalyQualifiedRole2017
public static java.lang.String esmaLineItemsNotDimensionalyQualifiedRole
public static java.lang.String esmaBlockDefaultUseOfLineItemsSegment
public static java.lang.String esmaBlockDefaultUseOfLineItemsScenario
public static java.lang.String esmaDefaultsRole
public static java.lang.String esmaDefaultsRole2020
public static final java.lang.String ESEF_COR_NAMESPACE_2017
public static final java.lang.String ESEF_COR_NAMESPACE_2019
public static final java.lang.String ESEF_COR_NAMESPACE_2020
public static final javax.xml.namespace.QName LineItemsNotDimensionallyQualifiedHypercube2017
public static final javax.xml.namespace.QName LineItemsNotDimensionallyQualifiedHypercube2019
public static final javax.xml.namespace.QName LineItemsNotDimensionallyQualifiedHypercube2020
public static final java.lang.String ESEF_VERSION
The value of the EBA_VERSION constant is "http://www.reportingstandard.com/properties/eba-version".
The default value for the property it refers to is EBA_VERSION_42 which is the lastest release.
public static final java.lang.String ESEF_VERSION_DEC182017
public static final java.lang.String ESEF_VERSION_JUL122019
public static final java.lang.String ESEF_VERSION_DEC072020
public java.lang.String getEsmaDefaultsRole()
public java.lang.String getEsmaLineItemsNotDimensionalyQualifiedRole()
public static ESEFProcessor create(DTSContainer dts) throws com.rs.lic.LicenseVerificationException, XBRLValidationException
dts
- the dtscom.rs.lic.LicenseVerificationException
- the license verification exceptionXBRLValidationException
- the XBRL validation exceptionpublic static ESEFProcessor.ConceptSource getConceptSource(javax.xml.namespace.QName conceptName)
Remarks: This method uses regular expressions to determine if the concept namespace is from the IFRS taxonomy or the well known ESMA taxonomy set. In the event the architecture of those taxonomies change the regular expressions must be updated accordingly. It is also noted that, in theory, a company extension could use a namespace that matches the IFRS or ESMA regular expression and skip concept extension validations.
conceptName
- the concept nameESEFProcessor.ConceptSource
public static boolean isESMANamespace(java.lang.String namespaceURI)
namespaceURI
- the namespace URIpublic static boolean isIFRSNamespace(java.lang.String namespaceURI)
namespaceURI
- the namespace URIpublic static java.util.Set<javax.xml.namespace.QName> getAllowedDomainItemTypes()
public static void registerProcessorStatic()
public static java.lang.String getPropertyKey(java.lang.String ruleCode)
ruleCode
- the rule codepublic DTSContainer getContainer()
getContainer
in interface HasDTSContainer
public static java.lang.String getDescriptionStatic()
public XBRLValidationReport validate()
validate
in interface XBRLPlugInProcessor
public XBRLArcroleType getWiderNarrowerArcroleType()
public XBRLValidationReport validate(XBRLDocument instance)
validate
in interface XBRLPlugInProcessor
instance
- the instancepublic java.util.Set<XMLElementDefinition> getExtensionConcepts()
This method is thread safe
public java.util.Set<XMLElementDefinition> getExtensionMembers()
This method is thread safe
public java.util.Set<XMLElementDefinition> getExtensionDimensions()
This method is thread safe
public java.util.Set<XMLElementDefinition> getExtensionHypercubes()
This method is thread safe
public java.util.Set<XBRLTaxonomy> getExtensionTaxonomies()
This method is thread safe
public java.util.Set<XMLElementDefinition> getLineItemsNotDimensionallyQualified()
This method is thread safe.
public DuplicatesAnalyzer getDuplicatesAnalyzer()
public boolean isExtensionRole(XBRLRoleType roleKey)
roleKey
- the role keypublic java.util.Set<java.lang.String> getLanguagesUsedInNonNumericFacts()
public java.lang.String getName()
getName
in interface XBRLPlugInProcessor
public java.lang.String getDescription()
getDescription
in interface XBRLPlugInProcessor
public void configure(java.util.Properties properties)
configure
in interface XBRLPlugInProcessor
properties
- the propertiespublic boolean isHidden()
isHidden
in interface XBRLPlugInProcessor
public void clear() throws java.lang.Throwable
clear
in interface XBRLPlugInProcessor
java.lang.Throwable
- the throwablepublic boolean isLicensed()
isLicensed
in interface LicensedProcessor
public boolean isValidating2017()
public boolean isValidating2019()
public boolean isValidating2020()
public java.lang.String getDocumentLanguage()
public void setSystemId(java.lang.String systemId)
setSystemId
in interface IXBRLReceiver
systemId
- the new system idReceiver#setSystemId(String)}
public void startDocument(int properties) throws net.sf.saxon.trans.XPathException
startDocument
in interface IXBRLReceiver
properties
- the propertiesnet.sf.saxon.trans.XPathException
- the x path exceptionReceiver.startDocument(int)}
public void endDocument() throws net.sf.saxon.trans.XPathException
endDocument
in interface IXBRLReceiver
net.sf.saxon.trans.XPathException
- the x path exceptionReceiver#endDocument()}
public void startElement(net.sf.saxon.om.NodeName elemName, net.sf.saxon.type.SchemaType typeCode, int locationId, int properties) throws net.sf.saxon.trans.XPathException
startElement
in interface IXBRLReceiver
elemName
- the elem nametypeCode
- the type codelocationId
- the location idproperties
- the propertiesnet.sf.saxon.trans.XPathException
- the x path exceptionReceiver.startElement(NodeName, SchemaType, int, int)
public void namespace(net.sf.saxon.om.NamespaceBinding namespaceBinding, int properties) throws net.sf.saxon.trans.XPathException
namespace
in interface IXBRLReceiver
namespaceBinding
- the namespace bindingproperties
- the propertiesnet.sf.saxon.trans.XPathException
- the x path exceptionReceiver#namespace(NamespaceBinding, int)}
public void attribute(net.sf.saxon.om.NodeName attName, net.sf.saxon.type.SimpleType typeCode, java.lang.CharSequence value, int locationId, int properties) throws net.sf.saxon.trans.XPathException
attribute
in interface IXBRLReceiver
attName
- the att nametypeCode
- the type codevalue
- the valuelocationId
- the location idproperties
- the propertiesnet.sf.saxon.trans.XPathException
- the x path exceptionReceiver#attribute(NodeName, SimpleType, CharSequence, int, int)}
public void endElement() throws net.sf.saxon.trans.XPathException
endElement
in interface IXBRLReceiver
net.sf.saxon.trans.XPathException
- the x path exceptionReceiver#endElement()}
public void characters(java.lang.CharSequence chars, int locationId, int properties) throws net.sf.saxon.trans.XPathException
characters
in interface IXBRLReceiver
chars
- the charslocationId
- the location idproperties
- the propertiesnet.sf.saxon.trans.XPathException
- the x path exceptionReceiver#characters(CharSequence, int, int)}
public void reset()
reset
in interface IXBRLReceiver
Builder#reset()}
public XMLElementDefinition getLineItemsNotDimensionallyQualifiedPlaceholder()
Copyright 2006-2015 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa