RE: [xml-dev] JAXP's ID Transform failing to include namespace declaration attributes

From
Evan Lenz <>
To
Jeni Tennison <>
Date
2002-01-04T19:41:25Z
ID
<>
Thread
RE: [xml-dev] JAXP's ID Transform failing to include namespace declaration attributes
Jeni Tennison wrote:
>   count(..|id(.)) = 1
>
> or:
>
>   generate-id(..) = generate-id(id(.))
>
> In other words "is my parent element the same as the element that I
> get when I try to retrieve elements with my value as their ID?"

That's a correct prose description, but that's not the same thing as
determining that the attribute is ID-typed.

<foo id="bar" fakeId="bar"/>

Your test will return true for both attributes above. I can be sure that one
of them is ID-typed, but I can't be sure which one, or even if both of them
are (because input may be invalid).

> You could say that you create an ID attribute in XSLT whenever you
> create an attribute that is declared as an ID attribute in the DTD
> that you associate with the result document (using doctype-system on
> xsl:output), I suppose?

That assumes that the XSLT processor always has control over the serializer
(and hence its being an optional feature). I can't make that assumption. So,
I'll probably just use an intermediate representation a la a my:idatts
attribute to denote which attributes are ID-typed. So postulate that I've
got the ID-generation problem solved.

But I have no way of figuring out which attributes are ID-typed in the first
place!

Evan