|
[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] 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
|
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|

Cart








