[Home] [By Thread] [By Date] [Recent Entries]

  • To: "Jeni Tennison" <jeni@j...>
  • Subject: RE: JAXP's ID Transform failing to include namespace declaration attributes
  • From: "Evan Lenz" <elenz@x...>
  • Date: Fri, 4 Jan 2002 11:41:25 -0800
  • Cc: <xml-dev@l...>
  • Importance: Normal
  • In-reply-to: <4616791384.20020104190936@j...>

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


Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member