This Public Working Draft has been approved for publication by the XBRL Standards Board for the purpose of obtaining feedback. It is not recommended for use in production systems, and may change significantly prior to finalisation.
This specification defines additional metadata for Taxonomy Packages, the ZIP-based container format for XBRL taxonomies.
eXtensible Business Reporting Language
Since the standardisation of xBRL-CSV in 2021, an increasing number of taxonomies also include JSON metadata files, the majority of which are similarly considered internal; only a few are intended for extension by xBRL-CSV reports.
Early XBRL taxonomies were distributed as ordinary ZIP files, with accompanying human-readable documentation describing which of the component files should be considered entry points.
The Taxonomy Packages 1.0 specification defined a standard format and location for a manifest file within such ZIP files, so compliant tools could identify the entry points automatically. It also supported remappings from the official public locations for taxonomy files to locations within the package.
These features allowed software with access to packages to operate offline, and over time many of the public locations became nominal, such that it was no longer possible to use many taxonomies without first locating the relevant packages.
This specification defines an extension to Taxonomy Packages 1.0 that provides some additional features to address the requirements of evolving best practice, specifically:
This specification uses the defined extension points in Taxonomy Packages 1.0
to include additional metadata. Every Taxonomy Packages 1.1 package is also a
valid Taxonomy Packages 1.0 package; Taxonomy Packages 1.1 packages are
distinguished only by the presence of additional metadata and the use of a
.xbrt file extension.
This approach provides backwards compatibility: processors that accept Taxonomy Packages 1.0 packages will also accept Taxonomy Packages 1.1 packages without modification.
This specification makes use of QNames to represent values, such as error codes. The following prefixes are used in this specification:
| Prefix | Namespace URI |
|---|---|
| tp | http://xbrl.org/2016/taxonomy-package |
| tp11 | https://xbrl.org/PWD/2026-04-19/taxonomy-package |
| tp11e | https://xbrl.org/PWD/2026-04-19/taxonomy-package/errors |
Where this Specification identifies an element or attribute which includes a
prefix described above, for example, tp11:dependencies, this should be
interpretted as a qualified name, and as
such, implementers MAY use any prefix (or no prefix) which resolves to the
correct namespace.
QNames in parenthetical red text after a "MUST" or "MUST NOT" statement prescribe standardised error codes to be used if the preceding condition is violated.
A Conformant Processor is a software application that takes a Taxonomy Package as input and implements all of the "MUST" and "MUST NOT" statements defined in this document for Conformant Processors.
A Conformant Processor MUST refuse to open or otherwise use a Taxonomy Package that violates any of the "MUST" and "MUST NOT" statements in this document defined for Taxonomy Packages, and MUST raise the prescribed error code for the statements that are violated.
A Taxonomy Package is an archive file that contains an XBRL taxonomy and additional metadata.
The package structure is defined by Taxonomy Packages 1.0.
This specification defines the file extension .xbrt, to be used in preference to the .zip expected by Taxonomy Packages 1.0.
If a Taxonomy Package uses the .xbrt file extension, its taxonomyPackage.xml file MUST contain a tp11:dependencies element (tp11e:missingMetadata) and MUST satisfy the additional constraints defined in this specification.
The schema defined in Taxonomy Packages 1.0 for taxonomyPackage.xml has an
open content model, allowing the inclusion of additional elements and
attributes from other namespaces.
This specification takes advantage of that extensibility, introducing new
metadata elements in the tp11 namespace.
The tp11 elements MUST only appear at the correct locations in the document (tp11e:misplacedMetadata), as specified in the following table:
| Element | Parent element |
|---|---|
tp11:jsonEntryPoint |
tp:entryPoints |
tp11:dependencies |
tp:taxonomyPackage |
tp11:dependency |
tp11:dependencies |
tp11:location |
tp11:dependency |
Each tp11:jsonEntryPoint element identifies a JSON document from within the set of published documents that is suitable for viewing or extension.
Although it shares some features with the tp:entryPoint element defined by Taxonomy Packages 1.0, tp11:jsonEntryPoint differs in three important respects:
@href attributetp:name and tp:description child elementstp11:jsonEntryPoint is designed to support xBRL-CSV 1.0 metadata files, but its use is not limited to those files. It may be used with a future version of xBRL-CSV, or a future metadata specification from XBRL International that uses a JSON document as the starting point for data model discovery.
If one or more tp11:jsonEntryPoint elements is present, the tp11:dependencies element MUST be present (tp11e:missingMetadata).
References to elements in the following sections refer only to those elements present as children of the tp11:jsonEntryPoint element.
The tp:name element provides a human-readable name for the entry point. The tp:name element is a Multi-lingual Element.
The tp:description element provides a human-readable description for the entry point. The tp:description element is a Multi-lingual Element.
@href attributeThis URL is subject to remappings, and as such the URL SHOULD be the canonical (potentially nominal), published location of the document rather than a relative reference to a file within the package.
Relative URLs MUST undergo XML Base resolution.
After applying remappings, the @href attribute will typically resolve to a document within the taxonomy package, but this is not required.
Processors are not required to validate that the URL resolves when opening a Taxonomy Package. Such validation is deferred until the entry point is opened, as described in Section 3.9.6, below.
The tp11:dependencies element contains a (possibly empty) list of tp11:dependency elements which identify the complete set of supporting packages needed to load the entry points defined within this package.
The tp11:dependencies element MUST appear at most once in a taxonomy package (tp11e:repeatedMetadata).
As noted above, tp11:dependencies is mandatory whenever the .xbrt file extension is used.
Each tp11:dependency element has two required attributes:
identifier, which specifies the tp:identifier value of the dependencydigest, which specifies a digest string for the dependencyA digest string is a string encapsulating a digest algorithm and digest value. A digest string consists of a digest algorithm prefix and a lower case hexadecimal digest value, separated by the - character.
This specification supports three digest algorithms (see Section 3.9.5).
The digest value is calculated by applying the digest algorithm to the package file on which this package depends.
Each tp11:dependency element may also contain zero or more tp11:location elements, which provide location hints for the dependency.
Because dependencies are expressed using content hashes in the digest attribute, it is not possible to record circular dependencies among TP 1.1 packages. This does not limit the expressive power of taxonomies in any way. Although some TP 1.0 packages have circular dependencies, it is considered bad practice, and it is easy to restructure the packages to avoid circular dependencies.
Each tp11:location element contains an absolute URI pointing to a public location at which the dependency was available at the time of publication.
Although package publishers are encouraged to continue serving packages at their published locations in perpetuity, this cannot be guaranteed.
Package consumers should treat tp11:location values as hints. They need not attempt to download packages from these locations if they can locate a package with the required identifier and digest by other means.
A taxonomy package that depends on the US-GAAP 2025 taxonomy can record that dependency as follows:
<tp11:dependency
identifier="http://xbrl.fasb.org/us-gaap/2025"
digest="sha256-a3b835925ad74030eb5be865a26d7dfe44013081c4ab7204b6122316a685fff4">
<tp11:location>https://xbrl.fasb.org/us-gaap/2025/us-gaap-2025.zip</tp11:location>
</tp11:dependency>
Note that this dependency on its own is insufficient, as US-GAAP 2025 depends on other packages. See Section 3.9.6, below.
The supported digest methods are SHA-256, SHA-384 and SHA-512 (SHA-2, as defined in FIPS PUB 180-4). These are denoted by the prefixes sha256, sha384 and sha512 respectively in a digest string.
The allowed digest types and associated length restrictions are enforced by XML Schema (see Appendix A).
Future specifications may define additional permitted digest methods.
A Conformant Processor MUST refuse to open a package if it cannot find a package with a matching digest for each of its tp11:dependency elements (tp11e:unobtainablePackage).
Each referenced package MUST be valid according to this specification or the Taxonomy Package 1.0 specification (tp11e:invalidDependency).
The tp:identifier for each discovered dependency MUST match the value of the identifier attribute (tp11e:unexpectedIdentifier).
A Conformant Processor is not required to check the validity of XBRL documents identified by entry points. Such validation is only required at the point that software attempts to open the entry point, and it is prescribed by the relevant specification for the document in question (XBRL 2.1, xBRL CSV 1.0, etc).
The limitation above serves two purposes:
When a package entry point is ultimately opened, XBRL documents (with the sole exception of documents defined by XBRL specifications) that would otherwise be requested from the internet in the course of processing MUST be obtainable using remappings defined in the package defining the entry point and those in packages directly specified in tp11:dependencies. Processors should resolve documents defined by XBRL specifications using internal remappings.
Package authors are discouraged from introducing conflicting remappings across packages, but in the event of conflicts, the remappings in the starting package have highest precedence, followed by the tp11:dependencies packages, in document order.
Dependencies are not transitive. Packages are required to document the complete set of supporting packages needed to open their entry points, even if this means restating dependencies that are expressed in referenced TP 1.1 packages.
Direct references simplify the dependency identification process, and allow flexibility for later packages to require newer versions of common dependencies.
For example, suppose
If we relied on transitive dependencies, Package F 1.1.0 would get the wrong version of Package E via Package D. By instead stating its dependencies directly, Package F 1.1.0 ensures the correct version of E.
The remappings MUST be sufficient to resolve all XBRL documents that would otherwise be requested from the internet. If a requested document cannot be located within the remappings determined as above, an error MUST be raised. tp11e:missingDocument MAY be used for this purpose, if another code is not prescribed by the specification that triggered the document request.
A processor may interactively assist users in finding an alternative set of packages that can be used to open entry points of interest - for example, replacing one or more packages with "hot fix" versions that were subsequently released, or supplying additional dependencies that were erroneously omitted from the original.
To record this new set of packages, processors can produce a new .xbrt package containing only an appropriately-placed taxonomyPackage.xml file, derived as follows:
tp:identifier to a new, unique valuetp11:dependencies to include a reference to the original package and the desired supporting packagesThis section contains XML files that form part of this specification. Each document has a standard Publication URL, at which the normative copy of the document is published. A non-normative copy of each document is included in this appendix for convenience.
All references to these documents made for the purposes of DTS Discovery MUST resolve to the Publication URL after applying XML Base processing (where applicable) and resolving any relative URLs.
It should be noted that the path component of a URL is case-sensitive, and so must match exactly. Further, alternative hosts and schemes that happen to resolve to the same location are not considered equivalent and may not be used. See RFC3986 for more details on URL equivalence.
The requirement to reference documents by Publication URL does not prevent processors from substituting local copies of the documents for performance or other reasons.
<?xml version="1.0" encoding="UTF-8"?>
<!-- (c) 2013-2026 XBRL International. All Rights Reserved.
http://www.XBRL.org/legal/ This document may be copied and furnished to
others, and derivative works that comment on or otherwise explain it or
assist in its implementation may be prepared, copied, published and
distributed, in whole or in part, without restriction of any kind,
provided that the above copyright notice and this paragraph are included
on all such copies and derivative works. XBRL(r), is a trademark or
service mark of XBRL International, Inc., registered in the United States
and in other countries. -->
<xsd:schema
xmlns:tp11="https://xbrl.org/PWD/2026-04-19/taxonomy-package"
xmlns:tp="http://xbrl.org/2016/taxonomy-package"
xmlns:xsd="http://www.w3.org/2001/XMLSchema"
attributeFormDefault="unqualified" elementFormDefault="qualified"
targetNamespace="https://xbrl.org/PWD/2026-04-19/taxonomy-package"
>
<xsd:import namespace="http://xbrl.org/2016/taxonomy-package" schemaLocation="http://www.xbrl.org/2016/taxonomy-package.xsd" />
<xsd:element name="dependencies" type="tp11:dependenciesType" />
<xsd:complexType name="dependenciesType">
<xsd:sequence>
<xsd:element name="dependency" type="tp11:dependencyType" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:anyAttribute namespace="##any" processContents="lax" />
</xsd:complexType>
<xsd:complexType name="dependencyType">
<xsd:sequence>
<xsd:element name="location" type="tp:uriType" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="identifier" type="xsd:anyURI" use="required" />
<xsd:attribute name="digest" type="tp11:digestSimpleType" use="required" />
<xsd:anyAttribute namespace="##any" processContents="lax" />
</xsd:complexType>
<xsd:simpleType name="digestSimpleType">
<xsd:restriction base="xsd:string">
<xsd:pattern value="sha256-[a-f0-9]{64}" />
<xsd:pattern value="sha384-[a-f0-9]{92}" />
<xsd:pattern value="sha512-[a-f0-9]{128}" />
</xsd:restriction>
</xsd:simpleType>
<xsd:element name="jsonEntryPoint" type="tp11:jsonEntryPointType"/>
<xsd:complexType name="jsonEntryPointType">
<xsd:sequence>
<xsd:group ref="tp:documentationGroup" minOccurs="0" maxOccurs="unbounded" />
</xsd:sequence>
<xsd:attribute name="href" type="xsd:anyURI" use="required"/>
<xsd:anyAttribute namespace="##any" processContents="lax" />
</xsd:complexType>
</xsd:schema>
<?xml version="1.0" encoding="utf-8"?>
<tp:taxonomyPackage
xml:lang="en"
xmlns:tp="http://xbrl.org/2016/taxonomy-package"
xmlns:tp11="https://xbrl.org/PWD/2026-04-19/taxonomy-package"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="https://xbrl.org/PWD/2026-04-19/taxonomy-package https://xbrl.org/PWD/2026-04-19/taxonomy-package.xsd http://xbrl.org/2016/taxonomy-package http://www.xbrl.org/2016/taxonomy-package.xsd">
<tp:identifier>https://example.com/taxonomy/v1</tp:identifier>
<tp:name xml:lang="en">Example Taxonomy Package</tp:name>
<tp:description xml:lang="en">An example taxonomy package</tp:description>
<tp:version>1.0.0</tp:version>
<tp:publisher>Example Co</tp:publisher>
<tp:publicationDate>2025-01-01</tp:publicationDate>
<tp:entryPoints>
<tp:entryPoint>
<tp:name xml:lang="en">Main</tp:name>
<tp:description xml:lang="en">All components of the taxonomy</tp:description>
<tp:entryPointDocument href="https://www.example.com/taxonomy/v1/main.xsd" />
<tp:languages>
<tp:language>en</tp:language>
</tp:languages>
</tp:entryPoint>
<tp11:jsonEntryPoint href="https://www.example.com/taxonomy/v1/core.json">
<tp:name xml:lang="en">Core templates</tp:name>
<tp:description xml:lang="en">Templates required for all filers</tp:description>
</tp11:jsonEntryPoint>
<tp11:jsonEntryPoint href="https://www.example.com/taxonomy/v1/full.json">
<tp:name xml:lang="en">All templates</tp:name>
<tp:description xml:lang="en">All templates (required and optional)</tp:description>
</tp11:jsonEntryPoint>
</tp:entryPoints>
<tp11:dependencies>
<tp11:dependency
identifier="https://xbrl.org/taxonomy/int/codelist-common-REC-2024-06-14"
digest="sha256-c6f6d5c01b75b51458a438d78eae6001e42fa777eb9725dd4bf73d1f93ac232d">
<tp11:location>https://www.xbrl.org/taxonomy/int/codelist-common/codelist-common-REC-2024-06-14.zip</tp11:location>
</tp11:dependency>
<tp11:dependency
identifier="https://xbrl.org/taxonomy/int/currency-current-REC-2025-05-06"
digest="sha256-ef82c761656d458f52af640aec530c93c169811051061315a5307e0acb145a7c">
<tp11:location>https://www.xbrl.org/taxonomy/int/currency/currency-current-REC-2025-05-06.zip</tp11:location>
</tp11:dependency>
</tp11:dependencies>
</tp:taxonomyPackage>
This appendix contains a list of the errata that have been incorporated into this document. This represents all those errata corrections that have been approved by the XBRL International Specification Maintenance Working Group (SWG) up to and including 2026-04-19.
No errata have been incorporated into this document.
This document and translations of it may be copied and furnished to others, and derivative works that comment on or otherwise explain it or assist in its implementation may be prepared, copied, published and distributed, in whole or in part, without restriction of any kind, provided that the above copyright notice and this paragraph are included on all such copies and derivative works. However, this document itself may not be modified in any way, such as by removing the copyright notice or references to XBRL International or XBRL organizations, except as required to translate it into languages other than English. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (https://www.xbrl.org/legal).
This document and the information contained herein is provided on an "AS IS" basis and XBRL INTERNATIONAL DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
The attention of users of this document is directed to the possibility that compliance with or adoption of XBRL International specifications may require use of an invention covered by patent rights. XBRL International shall not be responsible for identifying patents for which a license may be required by any XBRL International specification, or for conducting legal inquiries into the legal validity or scope of those patents that are brought to its attention. XBRL International specifications are prospective and advisory only. Prospective users are responsible for protecting themselves against liability for infringement of patents. XBRL International takes no position regarding the validity or scope of any intellectual property or other rights that might be claimed to pertain to the implementation or use of the technology described in this document or the extent to which any license under such rights might or might not be available; neither does it represent that it has made any effort to identify any such rights. Members of XBRL International agree to grant certain licenses under the XBRL International Intellectual Property Policy (https://www.xbrl.org/legal).