|
|
| Line 1: |
Line 1: |
| ==Product page== | | ==Product page== |
|
| |
|
| [[http://www.reportingstandard.com/XBRLtoHTML.xhtml XhBtRmL XBRL to HTML Template language]] | | [[http://www.reportingstandard.com/XBRL_Database.xhtml XBRL Database]] |
|
| |
|
| [[File:XBRLMapperIcon.png|none|left|XhBtRmL template language to produce HTML representation of XBRL reports]] | | [[File:XBRLDBIcon.png|none|left|XhBtRmL template language to produce HTML representation of XBRL reports]] |
|
| |
|
| ==Description== | | ==Description== |
|
| |
|
| XhBtRmL is a simple language designed to create templates that produce HTML representation of the content of XBRL reports. It can be used for multiple purposes as, for example, to produce a nice web page directly from the content of an XBRL report or for transforming the XBRL report into another XML document, for example; an iXBRL report or an XML-FO (for the production of PDF) etc.
| | The XBRL Database is a permament repository system implemented using relational databases and the most advanced technologies in order to allow the storage of document level information like XBRL reports, XBRL Taxonomies and XBRL Linkbases along with granular level information as XBRL Fact items, XBRL concept definitions, XBRL Labels, XBRL Resources, XBRL Relationships. |
|
| |
|
| The idea regarding the architecture behind XhBtRmL is the same as in XSLT. There is an Infoset (Information and structure of information) and a transformation language that is able to provide access to the information that exist on the Infoset and produce an output document. The reason why XSLT is not the right solution for working with XBRL is because XSLT was designed to work with the limited infoset of XML nodes (elements, attributes, namespaces, values, ...) while the XBRL Infoset is much richer that just elements and attributes. It contains concept definitions with specific XBRL properties, labels in multiple languages, presentation, calculation and reference relationships, definition relationships with other concept definitions etc. All this information may be diseminated in multiple files composing a complex DTS. This is certainly not an efficient scenario for XSLT or the production of XSLT pages. | | * The storage system allows the storage of everything that is valid XBRL 2.1 |
| | * The storage repository accepts information for any existing or new XBRL 2.1 taxonomy |
| | * The storage system allows users to develop complex cross instance document and cross taxonomy information systems |
|
| |
|
| ==Testing XhBtRmL==
| | There is a live demo of the XBRL Database that store all the information published by the SEC here [[http://www.xbrl4.org/regulators/ExploreXBRL.html ExploreXBRL direct link]]. |
|
| |
|
| The best way to test XhBtRmL is creating your own templates or modifying the content of existing templates. The first thing the user needs is a testing environment in which the user can start submit a web page and see the result. This walkthrough will guide the user step by step about the following topics:
| | For more information about the XBRL Database please contact reporting standard directly by sending an email to info at reportingstandard.com |
| # Installation instructions of the testing environment
| |
| # Understanding the testing environment
| |
| # Reference documentation
| |
|
| |
|
| ===Installation instructions of the testing environment===
| | Starting with version 2.6.12 of Reporting Standard S.L. tools, the XBRL Database functionality has been incorporated into XBRLizer and XBRLViewer. Also, a new software component has been created in order to access to information stored in the XBRL Database from Excel formulas. |
|
| |
|
| The testing environment can be installed under the Java platform using the Tomcat Application Server or it can be installed using the .NET platform on windows.
| | Now, the XBRL Database can receive XBRL reports from: |
|
| |
|
| ====Installation under Windows .NET====
| | * The XBRL Validation component (server mode) after XBRL 2.1 validation is finished with no errors. |
| | * The XBRL Grab daemon that periodically search for new reports published (We currently support the SEC RSS feed) |
| | * XBRLizer and XBRLViewer, using the File -> XBRL Database -> Store document into the XBRL Database. |
| | * All the components above relays on a API component in the library for storing a DTS into the XBRL Database. That API is available from other applications to use. |
|
| |
|
| # Download and install the latest version of Reporting Standard tools [[http://www.reportingstandard.com/downloads.xhtml Direct access to the downloads Page]].
| | The XBRL Database can be used from: |
| # Install the required licenses in order to be able to run Reporting Standard code in your computer. [[http://www.reportingstandard.com/license-req-auto.xhtml Direct link to request evaluation licenses form]].
| |
| # Download the .NET version of the XBRL Libraries from this link: [[http://www.reportingstandard.net/RS_XBRL_API_in_DotNET.zip RS_XBRL_API_in_DotNET.zip]]. The zip file contains a directory with 7 DLLs. The DLLs will be used later as references from .NET code. The user can install the DLLs in the GAC or in a folder. During this walkthrough we will assume the user has extracted the DLLs into a directory called '''RS_XBRL_API_in_DotNET'''.
| |
| # Download the sample project from this link: [[http://www.reportingstandard.net/XhBtRmL_DotNET.zip XhBtRmL_DotNET.zip]]. Now uncompress the content somewhere in your hard drive.
| |
| # The XhBtRmL solution contains a web project also called XhBtRmL. Depending on the user's operating system version he'll have to configure different things in the IIS web server in order to start serving .aspx pages. Under Windows XP Proffessional edition this requires installing IIS 5.1 and Windows .NET framework 2.0 (3.5 is recommended for working with the XBRL API). After that, it is necessary giving read permissions to the ASPNET user to the following directories:
| |
| ## The '''lib''' directory where Reporting Standard License files and library files are installed.
| |
| ## The '''XhBtRmL''' directory where the project source code is located (this is, for example, the directory where the file AssemblyInfo.cs is located).
| |
| ## and write permissions to the '''temp''' directory under the '''XhBtRmL''' directory. This is because the web server will write downloaded files here.
| |
| # Under Windows Vista, similar work will be necessary regarding the permissions of the users running the web server process.
| |
| # Open the project with you C# IDE (Visual Studio or Sharp Develop)
| |
| # Now resolve the unresolved references. There may be unresolved references to the following files: IKVM.AWT.WinForms, IKVM.OpenJDK.ClassLibrary, IKVM.Runtime, IKVM.Runtime.JNI, xbrljlib-2.0, xbrlmap and xbrlpojolib. The user will find that all required DLLs in order to resolve the references are located in the '''RS_XBRL_API_in_DotNET''' directory.
| |
| # Compile the project
| |
| # If you have not already do so, configure your web server to serve web pages under the directory where the Default.aspx file exist use the directory name '''XhBtRmL''' as the name of the virtual directory.
| |
| # Start the web server and point your browser to the root page <nowiki>http://localhost/XhBtRmL/Default.aspx</nowiki>
| |
| # After some seconds (the application takes some time to start) the user would see a simple web form to submit a sample XBRL report followed by an OK button on the next row
| |
| # Press the '''Browse''' button and search for the sampleInstance.xbrl document that is located in the project directory '''XhBtRmL'''
| |
| # Press the '''OK''' button and submit that file for processing. The process will take more time the first time it is executed because the templates are not compiled. The compiled templates are stored in memory in order to accelerate further executions.
| |
| # Read the Reference Documentation section in order to know how the process works and how to create new templates adapted for other taxonomies.
| |
|
| |
|
| ====Installation under Java platform====
| | * XBRLizer, XBRLviewer and any other API component the File -> Open component has a button to open data from the XBRL Database. The XBRL Database can be used as a proxy for official documents based on the absolute document URI. |
| | * The Excel functions that access information in XBRL reports using filters. |
| | * Any other application trying to load information from SQL to another BI (Business Intelligence) system. |
|
| |
|
| # Download the Java sample project from this link: [[http://www.reportingstandard.net/XhBtRmL_Java.zip XhBtRmL_Java.zip]]
| | ==User data model== |
| # Use Eclipse or your favorite IDE in order to set-up the project. The project contains a simple form in a web page called default.html and JSP page called process.jsp that contains all required code in order to produce an HTML representation of the sample XBRL report. There is also a static class called Config that is used from the JSP page and from a Servlet called InicializationServlet. The only purpose of the Initialization Servlet is to create an instance of the transformer object using the configuration file. The Transformer will be reused between calls and it is thread safe so the reated instance will be stored in the Config object for later use.
| | The XBRL Database API provides a mechanism to extend the XBRL data model. This allows developers using Reporting Standard XBRL API to create their own data model and tables on top of the XBRL data model and use them as any other tables in the model. |
| # Review the content of the web.xml file and deploy the application according to your application server settings.
| |
| # Start the web server and point your browser to the root page <nowiki>http://localhost/XhBtRmL/Default.html</nowiki>
| |
| # After some seconds (the application takes some time to start) the user would see a simple web form to submit a sample XBRL report followed by an OK button on the next row
| |
| # Press the '''Browse''' button and search for the sampleInstance.xbrl document that is located in the project directory '''XhBtRmL'''
| |
| # Press the '''OK''' button and submit that file for processing. The process will take more time the first time it is executed because the templates are not compiled. The compiled templates are stored in memory in order to accelerate further executions.
| |
| # Read the Reference Documentation section in order to know how the process works and how to create new templates adapted for other taxonomies.
| |
|
| |
|
| ===Understanding the testing environment===
| | There is more information in the [[How to add classes to the XBRL Database model]] wiki page. |
|
| |
|
| The testing environment consist of the following components:
| | ==Navigate== |
| | | [[Main Page]] |
| # A sample ''XBRL Taxonomy''. This taxonomy is local (not officially published, used only for this prototype and is not stored in Reporting Standard Taxonomy Catalog). The taxonomy schema can be located in the project directory '''config/samples/taxonomies/sample/sampleTaxonomy.xsd'''.
| |
| # A sample ''XBRL Report''. The report is in a file called '''sampleInstance.xbrl''' that is valid according to the sampleTaxonomy.xsd. In order to validate the instance document the user may need to store the instance document in the '''temp''' directory.
| |
| # A ''Web form'' called '''Default.aspx''' in the .NET windows platform or '''process.jsp''' in the Java platform that receives the xbrl file and send it to the [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/transform/TransformProcessor.html TransformProcessor]] instance for transformation from XBRL format to HTML format. The [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/transform/TransformProcessor.html TransformProcessor]] is initialized with a configuration file when the application is started.
| |
| # A ''Configuration file'' for the [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/transform/TransformProcessor.html TransformProcessor]]. With information about the DTS, the templates etc.
| |
| # A set of ''Templates'' that defines the final user interface
| |
| | |
| ====The .NET Windows project====
| |
| | |
| The Web.config file contains the following project properties:
| |
| | |
| <syntaxhighlight lang="xml">
| |
| ...
| |
| <appSettings>
| |
|
| |
| <add key="tpConfig"
| |
| value="config/transformationParameters.xml"
| |
| />
| |
| <add key="tempFolder"
| |
| value="temp"
| |
| />
| |
| | |
| </appSettings>
| |
| ...
| |
| </syntaxhighlight>
| |
| | |
| ====The Java project====
| |
| | |
| The web.xml file contains the following information:
| |
| | |
| <syntaxhighlight lang="xml">
| |
| ...
| |
| <env-entry>
| |
| <description>TransformProcessor config file</description>
| |
| <env-entry-name>tpConfig</env-entry-name>
| |
| <env-entry-type>java.lang.String</env-entry-type>
| |
| <env-entry-value>config/transformationParameters.xml</env-entry-value>
| |
| </env-entry>
| |
| <env-entry>
| |
| <description>Incoming instance documents will be downloaded here</description>
| |
| <env-entry-name>tempFolder</env-entry-name>
| |
| <env-entry-type>java.lang.String</env-entry-type>
| |
| <env-entry-value>temp</env-entry-value>
| |
| </env-entry>
| |
| ...
| |
| </syntaxhighlight>
| |
| | |
| ====Information about the global properties====
| |
| | |
| The '''tempFolder''' property will be used in order to store downloaded files. DTS resolution should use either absolute files or relative files that will be resolved using this directory as the base directory for relative resolution if there is no xml:base or any other indication inside the file according to the XML and XBRL specifications.
| |
| | |
| The '''tpConfig''' property is used to indicate the name of the configuration file for the initialization of the [[http://www.reportingstandard.com/apidoc/com/ihr/xbrl/transform/TransformProcessor.html TransformProcessor]]. Refer to the section [[XhBtRmL Configuration file]] for more information about the syntax and configuration file content.
| |
| | |
| ==Reference documentation==
| |
Product page
[XBRL Database]
Description
The XBRL Database is a permament repository system implemented using relational databases and the most advanced technologies in order to allow the storage of document level information like XBRL reports, XBRL Taxonomies and XBRL Linkbases along with granular level information as XBRL Fact items, XBRL concept definitions, XBRL Labels, XBRL Resources, XBRL Relationships.
- The storage system allows the storage of everything that is valid XBRL 2.1
- The storage repository accepts information for any existing or new XBRL 2.1 taxonomy
- The storage system allows users to develop complex cross instance document and cross taxonomy information systems
There is a live demo of the XBRL Database that store all the information published by the SEC here [ExploreXBRL direct link].
For more information about the XBRL Database please contact reporting standard directly by sending an email to info at reportingstandard.com
Starting with version 2.6.12 of Reporting Standard S.L. tools, the XBRL Database functionality has been incorporated into XBRLizer and XBRLViewer. Also, a new software component has been created in order to access to information stored in the XBRL Database from Excel formulas.
Now, the XBRL Database can receive XBRL reports from:
- The XBRL Validation component (server mode) after XBRL 2.1 validation is finished with no errors.
- The XBRL Grab daemon that periodically search for new reports published (We currently support the SEC RSS feed)
- XBRLizer and XBRLViewer, using the File -> XBRL Database -> Store document into the XBRL Database.
- All the components above relays on a API component in the library for storing a DTS into the XBRL Database. That API is available from other applications to use.
The XBRL Database can be used from:
- XBRLizer, XBRLviewer and any other API component the File -> Open component has a button to open data from the XBRL Database. The XBRL Database can be used as a proxy for official documents based on the absolute document URI.
- The Excel functions that access information in XBRL reports using filters.
- Any other application trying to load information from SQL to another BI (Business Intelligence) system.
User data model
The XBRL Database API provides a mechanism to extend the XBRL data model. This allows developers using Reporting Standard XBRL API to create their own data model and tables on top of the XBRL data model and use them as any other tables in the model.
There is more information in the How to add classes to the XBRL Database model wiki page.
Navigate
Main Page