Subject:Problems with id() Author:Adam Van den Hoven Date:26 Nov 2002 04:16 PM
I'm having problems using the id() function in SS.
I have a document that is validated using an XML Schema via the xsi:SchemaLocation attribute.
As a check I created a stylesheet that only did
{xsl:copy-of select="//*[id('node000')]" /} where node000 is a known id.
Since that didn't return anything I tried the insanely redundant:
{xsl:copy-of select="//*[id(//*/@id)]" /}
Subject:Re: Problems with id() Author:(Deleted User) Date:26 Nov 2002 05:11 PM
Hi Adam,
the XPath function id() is supposed to only look at DTDs, not XML Schema
(see http://www.w3.org/TR/xpath#unique-id ). This because XSL+XPath have
been developed before XML Schema.
Yes, I know it's not the answer you were looking for...
The only workaround currently available (apart from waiting for XSLT 2.0 +
XPath 2.0) is to add a DTD to your XML to specify the IDs you need (as an
example, look at the XML Schema for the XML Schema specs, at http://www.w3.org/TR/xmlschema-1/#normative-schemaSchema )