Re: apply one template to another
> I tried something like this but I couldnt get it to work, do you mean it gave an error, or it gave the wrong answer? It looks OK, although without seeing an input documemt it's impossible to say if it matches any element in the input. <xsl:template match="/root/xform/xforms:model/xforms:instance/page/contact" mode="copy"> <xsl:choose> <xsl:when test="empty(/root/contact)"> <xsl:copy-of select="."/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="/root/contact"/> </xsl:otherwise> </xsl:choose> </xsl:template> I'd probably write that as <xsl:template match="contact" mode="copy"> <xsl:copy-of select="(/root/contact,.)"/> </xsl:template> (which is probably equivalent, if some assumptions about your input are correct, if you can have multiple contact children you'd need to change it slightly.) But as you have it should work, as long as you do have an element matching root/xform/xforms:model/xforms:instance/page/contact David
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