[xsl] node functions

Subject: [xsl] node functions
From: Sarkup Sarkup <sarkups@xxxxxxxxx>
Date: Tue, 5 Aug 2008 07:52:47 -0700 (PDT)
Hi:

I have two xml files which have common elements between them. 

file1.xml:

<test>
<info>
<pub>
</pub>
</info>
</test>

file2.xml
<test2>
<info>
<requirement>
<level1>
<para></para>
<pub></pub>
</level1>
</requirement>
</info>
</test2>


So, info and pub are two common elements between there two xml files. So there is a common style sheet just for pub called pub.xsl. pub has an attribute level which can be set to 1~4.
But in one commong style sheet, I want to apply templates for all //info elements and not include //pub elements which have @level='1'

I tried:

<xsl:choose>
<xsl:when test="//info(not[self::pub[@level='1']">

<xsl:apply-templates select="//info(not[self::pub[@level='1']">
</xsl:when>
</xsl:choose>

This is obv wrong because the processor complains about it.

Howcan I achieve this to say apply templates for only those <info> elements which do not have @level in <pub> set to '1'.

Thanks in advance for all your help.

Current Thread