XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
Marc FeickertSubject: finding a list of values
Author: Marc Feickert
Date: 06 Aug 2010 03:12 PM
I need to pull back multiple elements based on an @id attribute which is different for eahc of them. Essentially, given docs numbered 1-10, I want to extract only 3,6,7.

I could grab each by setting my loop in the following way:

<xsl:for-each select="Documents/Document[@id='3' or @id='6' or @id='7']">
<xsl:copy-of select="."/>
</xsl:for-each>


Is ther a more concise way to write the XPath here to where all I need list are the values themselves? Like in SQL where you can say:

SELECT * from DOCUMENT where ID in (3,6,7)

Postnext
Ivan PedruzziSubject: finding a list of values
Author: Ivan Pedruzzi
Date: 06 Aug 2010 05:08 PM
Hi Mark,


In XSLT 2.0 (Saxon 9.x) you can do

<xsl:for-each select="Documents/Document[@id=(3,6,7)]">

In pure XSLT 1.0 could build xml document like this, call it ids.xml

<?xml version="1.0"?>
<ids>
<id>3</id>
<id>6</id>
<id>7</id>
</ids>

and then

<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:variable name="ids" select="document('ids.xml')/ids/id"/>

<xsl:template match="/">
<xsl:for-each select="Documents/Document[@id=$ids]">
<xsl:copy-of select="."/>
</xsl:for-each>
</xsl:template>

</xsl:stylesheet>

Hope this helps
Ivan Pedruzzi
Stylus Studio Team

Postnext
Marc FeickertSubject: finding a list of values
Author: Marc Feickert
Date: 06 Aug 2010 05:15 PM
Ivan, I am crying for the beauty of it. I had tried that syntax, but i was in XSLT 1.0.

It now works! thanks

Postnext
Rashi BhardwajSubject: finding a list of values
Author: Rashi Bhardwaj
Date: 25 Sep 2010 02:08 PM
Hi Mark,

Cld u please help me in a html output via xslt please?

my id is rashi.bhardwaj@gmail.com

Postnext
Marc FeickertSubject: finding a list of values
Author: Marc Feickert
Date: 09 Dec 2010 05:23 PM
>Hi Mark,
>
>Cld u please help me in a html
>output via xslt please?
>
>my id is
>rashi.bhardwaj@gmail.com


Rashi, I have no idea why I did not get notification about this. Do you still have some questions?

Postnext
Page BasheerSubject: finding a list of values
Author: Page Basheer
Date: 08 Dec 2010 03:44 PM
Can this approach be adapted to a use case where a list of unique values must be determined from a document content, eg, find and use a list of distinct values from //SOMELEMENT/@SOMEATTRIBUTE, and then used to process all nodes within the set for a given one of the values?

Posttop
Marc FeickertSubject: finding a list of values
Author: Marc Feickert
Date: 09 Dec 2010 05:23 PM
>Can this approach be adapted
>to a use case where a list of
>unique values must be
>determined from a document
>content, eg, find and use a
>list of distinct values from
>//SOMELEMENT/@SOMEATTRIBUTE,
>and then used to process all
>nodes within the set for a
>given one of the values?

Can you provide some data and expected output?

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.