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.ConceptSourcepublic 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 HasDTSContainerpublic static java.lang.String getDescriptionStatic()
public XBRLValidationReport validate()
validate in interface XBRLPlugInProcessorpublic XBRLArcroleType getWiderNarrowerArcroleType()
public XBRLValidationReport validate(XBRLDocument instance)
validate in interface XBRLPlugInProcessorinstance - 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 XBRLPlugInProcessorpublic java.lang.String getDescription()
getDescription in interface XBRLPlugInProcessorpublic void configure(java.util.Properties properties)
configure in interface XBRLPlugInProcessorproperties - the propertiespublic boolean isHidden()
isHidden in interface XBRLPlugInProcessorpublic void clear()
throws java.lang.Throwable
clear in interface XBRLPlugInProcessorjava.lang.Throwable - the throwablepublic boolean isLicensed()
isLicensed in interface LicensedProcessorpublic boolean isValidating2017()
public boolean isValidating2019()
public boolean isValidating2020()
public java.lang.String getDocumentLanguage()
public void setSystemId(java.lang.String systemId)
setSystemId in interface IXBRLReceiversystemId - the new system idReceiver#setSystemId(String)}public void startDocument(int properties)
throws net.sf.saxon.trans.XPathException
startDocument in interface IXBRLReceiverproperties - the propertiesnet.sf.saxon.trans.XPathException - the x path exceptionReceiver.startDocument(int)}public void endDocument()
throws net.sf.saxon.trans.XPathException
endDocument in interface IXBRLReceivernet.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 IXBRLReceiverelemName - 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 IXBRLReceivernamespaceBinding - 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 IXBRLReceiverattName - 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 IXBRLReceivernet.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 IXBRLReceiverchars - 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 IXBRLReceiverBuilder#reset()}public XMLElementDefinition getLineItemsNotDimensionallyQualifiedPlaceholder()
Copyright 2006-2015 Reporting Standard S.L., C/ Torrecilla del Puerto 1, 28043, Madrid, Espaņa