Subject: RE: Processing IDREFS attributes
From: "Michael Kay" <mike@xxxxxxxxxxxx>
Date: Tue, 1 Nov 2005 23:03:58 -0000
|
> The XSLT 2.0 tokenize function is much less verbose:
>
> <xsl:for-each select="tokenize(@references, ' ')">
> <!-- process each id here; . gets the id string -->
> </xsl:for-each>
Actually, in 2.0 if it's declared in the schema as an xs:IDREFS you don't
even need to tokenize it by hand, you can just do
> <xsl:for-each select="data(@references)">
> <!-- process each id here; . gets the id string -->
> </xsl:for-each>
And in fact, in a schema-aware stylesheet, tokenize() won't work, because it
requires a single string rather than a sequence of strings.
But it's not actually clear to me from the problem description what you want
to do with the ID values after pulling them apart.
Michael Kay
http://www.saxonica.com/
>
> I've got a few places where I have an attribute of type IDREFS and a
> sequence of ID values like references="Location Party
> Organization". I had
>
> thought a simple for-each loop would pull these apart with the id()
> function, in something like this:
>
> <xsl:for-each select="id(@references)">
> <xsl:value-of select="."/>
> </xsl:for-each>
>
> But it doesn't work. What I get is the content of @references
> with the
> above.
>
> The only other solution I have thought about is creating a
> template and
> recursively pulling apart the string. This should work, but I
> would think
> there is a simpler way to make this work. Is there a solution
> I missed?
>
> ..dan
> --------------------------------------------------------------
> -------------
> Danny Vint
>
> Specializing in Panoramic Images of California and the West
> http://www.dvint.com
>
> voice: 510-522-4703
>
> When H.H. Bennett was asked why he preferred to be out
> shooting landscapes rather than spending time in his portrait studio:
>
> "It is easier to pose nature and less trouble to please."
>
> http://www.portalwisconsin.org/bennett_feature.cfm
| Current Thread |
|
Michael Kay - 1 Nov 2005 23:04:24 -0000 <=
David Carlisle - 1 Nov 2005 22:20:06 -0000
G. Ken Holman - 1 Nov 2005 22:23:15 -0000
|
|