Lists Home |
Date Index |
- To: "Jeni Tennison" <firstname.lastname@example.org>
- Subject: RE: [xml-dev] JAXP's ID Transform failing to include namespace declaration attributes
- From: "Evan Lenz" <email@example.com>
- Date: Fri, 4 Jan 2002 11:41:25 -0800
- Cc: <firstname.lastname@example.org>
- Importance: Normal
- In-reply-to: <email@example.com>
Jeni Tennison wrote:
> count(..|id(.)) = 1
> 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