xsl-list
[Top] [All Lists]

RE: Processing IDREFS attributes

2005-11-01 16:03:58

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

 



--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--




--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: 
<mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--





--~------------------------------------------------------------------
XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list
To unsubscribe, go to: http://lists.mulberrytech.com/xsl-list/
or e-mail: <mailto:xsl-list-unsubscribe(_at_)lists(_dot_)mulberrytech(_dot_)com>
--~--