RE: [xsl] Conditional document merge

Subject: RE: [xsl] Conditional document merge
From: "Hunsberger, Peter" <Peter.Hunsberger@xxxxxxxxxx>
Date: Tue, 28 May 2002 15:35:22 -0500
>I think this does the sort order you want:
>
>	<xsl:template match="/">
>	
>		<xsl:variable name="docb" select="document('merge-b.xml')"/>
>	
>		<xsl:for-each select="root/*">
>			<xsl:sort select="boolean($docb//*[name() =
>name(current())])" order="descending"/>
>			<xsl:sort select="generate-id($docb//*[name() =
>name(current())])"/>
>			
>			<xsl:value-of select="name()"/>
>			
>		</xsl:for-each>
>		
>	</xsl:template>
>
>Run this over document A.
>

I've come to realize that no sorting technique is going to work because you
can't include the missing nodes in the sort criteria at the point I need
them, you can only make them appear first or last(as the boolean() spec is
going to do). I've got to run against document B and somehow pick up that it
is missing a node from document A.

If I could do something like:

	 select="$doca/$varname[position()+1]"

to find the node after the one I'm currently working I'd be set since then I
can test to see a node with the same name exists in document B and if not
use the values as needed... 

(I'm ok with using any Saxon and/or Xalan specific solutions...)


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list


Current Thread