xsl-list
[Top] [All Lists]

Re: How to find out if the preceding sibling is a PI

2005-12-02 14:44:50
Hi, Nadia,

Try this:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="2.0" 
xmlns:xsl="http://www.w3.org/1999/XSL/Transform";>

  <xsl:template match="design.consideration">
    <result>
      <xsl:choose>
        <xsl:when 
test="generate-id(../processing-instruction('xm-insertion_mark_start')/following-sibling::*[1])
 
= generate-id()">
          <xsl:text>yes</xsl:text>
        </xsl:when>
        <xsl:otherwise>
          <xsl:text>no</xsl:text>
        </xsl:otherwise>
      </xsl:choose>
    </result>
  </xsl:template>

</xsl:stylesheet>

I tested that with (with Saxon 8.6.1) on the following test files:

<x>
  <?xm-insertion_mark_start author="Nadia Swaby" 
time="20051202T111856-0500"?>
  <test/>
  <design.consideration></design.consideration>
</x>

(which produced "no")

and

 <x>
  <?xm-insertion_mark_start author="Nadia Swaby" 
time="20051202T111856-0500"?>
  <design.consideration></design.consideration>
  <test/>
</x>

(which produced "yes")

HTH

Jay Bryant
Bryant Communication Services
(presently consulting at Synergistic Solution Technologies)





Nadia(_dot_)Swaby(_at_)pwc(_dot_)ca 
12/02/2005 02:46 PM
Please respond to
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com


To
xsl-list(_at_)lists(_dot_)mulberrytech(_dot_)com
cc

Subject
[xsl] How to find out if the preceding sibling is a PI






Hi all,

I have a document that looks something like this:

<?xm-insertion_mark_start author="Nadia Swaby"
time="20051202T111856-0500"?>
<design.consideration></design.consideration>

I need to do a test to find out if the sibling immediately preceding the
design.consideration element is an xm-insertion_mark_start PI.

Basically, I need something like
preceding-sibling::*[position() = 1 and
processing-instruction('xm-insertion_mark_start')]
but that statement doesn't return anything.

Is there any way of doing this?

Thanks

Nadia



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



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