xsl-list
[Top] [All Lists]

RE: Nodesets handling (getting subsets)

2004-05-23 07:39:08
Hi Marco,

If I am understanding you correctly then you should be able to use the
total count of the elements that match
'office:document-content/office:body/draw:page' of your source document
as your base and then exclude any 'slide' elements whose number
attribute is greater than this value.  The most efficient way of doing
this is to first create a variable that contains the count from your
source document:

<xsl:variable name="pageCount"
select="count(document('#content.xml')/office:document-content/office:bo
dy/draw:page)"/>

And then compare that number with the number attribute of each slide
element from your original variable to get the resulting result tree
fragment.

<xsl:variable name="resultTreeFragment"
select="$selected-slides[not(@number > $pageCount)]"/>

Let me know if I understand your dilemma accurately and if the above was
helpful.

Best regards,

<M:D/>

-----Original Message-----
From: Marco [mailto:brbromo(_at_)tin(_dot_)it]
Sent: Thursday, May 20, 2004 7:35 AM
To: xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
Subject: [xsl] Nodesets handling (getting subsets)

I have a nodeset parameter called $selected-slides. It is a set of
'slide' elements with a 'number' attribute.

I would like to remove from that nodeset those elements whose 'number'
attribute is not associated with any draw:page element in the xml
source. In other words, those 'slide' elements whose 'number'
attribute
is not the position number of any draw:page element in the source xml.

But if I create a new variable with the select expression:

$selected-slides[count(document('#content.xml')/office:document-
content/office:body/draw:page[position()

= number(@number)]) &gt; 0]

I get no $selected-slides elements because (IMHO) @number does not
refer
  to the 'slide' element inside $selected-slides.
How could I solve this problem?

Thanks in advance,
Marco




--+------------------------------------------------------------------
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>
--+--



<Prev in Thread] Current Thread [Next in Thread>