Stage 3 proposal: feature #46, remove @xtrf and @xtrc The @xtrf and @xtrc attributes were added in DITA 1.0 purely for processing purposes, to add a standard way for processors to store mid-conversion debug information while (in theory) retaining validity against an original DTD. This is a legacy concern outside the scope of the standard / outside of the usual interoperability concern; they should be removed as part of the effort to clean up DITA 2.0 and remove obsolete or unnecessary markup. Champion Robert Anderson Tracking information Event Date Links Stage 1 proposal accepted 11 July 2017 Minutes Stage 2 proposal submitted 2 Feb 2018 HTML , DITA Stage 2 proposal discussed 6 Feb 2018 Minutes Stage 2 proposal approved 13 Feb 2018
https://lists.oasis-open.org/archives/dita/201802/msg00050.html Stage 3 proposal submitted to reviewers 1 March 2018 Carsten Brennecke, Kris Eberlein Stage 3 proposal (this document) submitted to TC 6 March 2018 Approved technical requirements 1. Remove declarations of @xtrf and @xtrc from the grammar files. 2. Remove use of the %global-atts; attribute group, which is currently used solely to define those two attributes. Dependencies or interrelated proposals N/A Modified grammar files For RNG, the following group and declarations will be removed from commonElementsMod.rng: <define name="global-atts"> <optional> <attribute name="xtrc"/> </optional> <optional> <attribute name="xtrf"/> </optional> </define> In addition, all uses of the following should be removed; this is currently used on every RNG element declaration, so there is no benefit to listing every instance in the grammar: <ref name="global-atts"/> For DTDs, the following entity and declarations will be deleted from commonElements.mod: <!ENTITY % global-atts "xtrc CDATA #IMPLIED xtrf CDATA #IMPLIED" > In addition, all uses of the following should be removed; this is currently used on every DTD element declaration, so there is no benefit to listing every instance in the grammar: %global-atts; Modified terminology N/A Modified specification documentation The Debug Attributes topic will be removed from the specification. None of the content will be preserved and no new content is required elsewhere. It is currently referenced from ditaref-attributes.ditamap Links to this topic will need to be removed from any attribute definitions that currently include them (a small number of elements that modify or do not include most of "universal attributes" group): 3.2.1.11 <dita> (new text in italics): "The following attributes are available on this element: @xmlns:ditaarch and @DITAArchVersion from Architectural attribute group, and the Localization attribute group and Debug attribute group . 3.3.1.11 <ux-window> : "The following attributes are available on this element: ID attribute group, Metadata attribute group, Debug attribute group, class (Not for use by authors), and the attributes defined below." 3.6.1.8 <enumerationdef> : The following attributes are available on this element: ID attribute group, @status and @base from Metadata attribute group, outputclass, Debug attribute group, class (Not for use by authors), and the attributes defined below. 3.6.1.9 <elementdef> : The following attributes are available on this element: ID attribute group, @status and @base from Metadata attribute group, outputclass, Debug attribute group, class (Not for use by authors), and the attributes defined below. 3.6.1.10 <attributedef> : "The following attributes are available on this element: ID attribute group, @status and @base from Metadata attribute group, outputclass, Debug attribute group, class (Not for use by authors), and the attributes defined below." 3.7.7 <no-topic-nesting> : "The following attributes are available on this element: Debug attribute group and class (Not for use by authors), and the attributes defined below." Migration plans for backwards incompatibilities Any documents that specify @xtrf or @xtrc in the source will need to remove the attributes. Note : There is no migration plan for moving information to other attributes; these attributes were never intended for use in source, so any existing use is non-standard and we cannot predict the proper migration path. One option for this scenario is to create specialization modules that define @xtrf and @xtrc as specializations of @base , which will restore them to all elements. Alternatively, a better solution might be to create new specialized attributes with names that correspond to the content, and to migrate @xtrf and @xtrc to those new attributes. Specialization or constraint modules that include references to the global-atts group or parameter entity will need to remove those references. This will most easily be accomplished with a search/replace operation that replaces the reference with an empty value. Any specialization or constraint modules that explicitly add these attributes to an attribute list will need to remove the attribute declarations, but this is less likely as the most common design pattern is to reference the group as we do in every OASIS element declaration. Regards, Robert D. Anderson DITA-OT lead and Co-editor DITA 1.3 specification , Digital Services Group E-mail:
robander@us.ibm.com Digital Services Group 11501 BURNET RD,, TX, 78758-3400, AUSTIN, USA