Taxonomy Packages 1.1

Public Working Draft 19 April 2026

This version
https://www.xbrl.org/Specification/taxonomy-package-1.1/PWD-2026-04-19/taxonomy-package-1.1-PWD-2026-04-19.html
Editors
Mark Goodhand, CoreFiling <mrg@corefiling.com>
Paul Warren, XBRL International <pdw@xbrl.org>
Contributors
David Bell, AM2 <david.bell@am2ltd.com>
Herm Fischer, Exbee <herm@exbee.dev>

Table of Contents

Definitions

Error codes

1 Status

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.

2 Abstract

This specification defines additional metadata for Taxonomy Packages, the ZIP-based container format for XBRL taxonomies.

3 Introduction

eXtensible Business Reporting Language defines a standard XML-based syntax for business reports. This syntax is based around reporting concepts which are defined in an XBRL taxonomy. Due to the nature of the domains to which XBRL is typically applied, these taxonomies are often very complex, and made up of many constituent XML files. Typically, the majority of these files can be considered internal to the definition of the taxonomy, whilst a small number are intended to be used as "entry points" by XBRL tools.

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:

3.1 Relationship to other work

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.

3.2 Namespaces

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.

3.3 Error codes

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.

3.4 Conformant Processor

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.

3.5 Taxonomy Package

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.

3.6 File extensions

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.

3.7 Additional metadata

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

3.8 JSON entry points

3.8.1 The tp11:jsonEntryPoint element

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:

tp11: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.

3.8.2 The tp:name element

The tp:name element provides a human-readable name for the entry point. The tp:name element is a Multi-lingual Element.

3.8.3 The tp:description element

The tp:description element provides a human-readable description for the entry point. The tp:description element is a Multi-lingual Element.

3.8.4 The @href attribute

This 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.

3.9 Dependencies

3.9.1 The tp11:dependencies element

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.

3.9.2 The tp11:dependency element

Each tp11:dependency element has two required attributes:

A 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.

3.9.3 The tp11:location element

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.

3.9.4 Example dependency

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.

3.9.5 Supported digest types

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.

3.9.6 Completeness of dependencies

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:

  1. to discourage eager processing of potentially large referenced document sets
  2. to accommodate taxonomy package processors that do not also support all of the specifications used by referenced documents

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:

  1. start with metadata from the original package
  2. update tp:identifier to a new, unique value
  3. update tp11:dependencies to include a reference to the original package and the desired supporting packages
  4. make any other desired metadata adjustments (remove broken or irrelevant entry points, adjust descriptions, etc.)

Appendix A Schemas (normative)

This 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.

A.1 taxonomy-package-1-1.xsd

<?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>

Appendix B Example taxonomyPackage.xml file

<?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>

Appendix C Errata Corrections incorporated in this document

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.

Appendix D Intellectual property status (non-normative)

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).