XInclude 1.1 Attibute Copying

Previous Topic Next Topic
classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

XInclude 1.1 Attibute Copying

Shaun McCance-2
Because the attribute-copying feature of XInclude 1.1 is limited
to namespace-qualified attributes, it's nowhere near as useful as
it could be.

The stated purpose is to help resolve duplicate IDs. Many formats
use ID-like attributes other than xml:id. Also, it doesn't at all
address IDs in descendant elements, which is very common.

Attribute copying could put an end to DITA's ad-hoc conref feature.
The only thing conref has over XInclude is that you can specify
whether to use a locally-defined attribute or the attribute on the
included element with -dita-use-conref-target.

But uses like this are severely hampered by the fact that almost
no XML vocabulary namespace-qualifies its core attributes. If we
can only copy namespace-qualified attributes, then in practice
it will only be used for xml:id and perhaps xlink:href.

See, for example, Liam's example of why attribute copying should
override attributes in the included document:

His example is spot on, except that attribute copying can't be
used for any of those purposes.

Alternative proposal: Introduce a child element of xi:include,
xi:attributes. This has no defined attributes, so you can copy
all its attributes without conflicting with current or future
XInclude attributes. You could keep the current behavior as a
shorthand as well.

Shaun McCance
Community Help Expert