This is the mail archive of the xsl-list@mulberrytech.com mailing list .


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

RE: Conditional document merge


>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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]