[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] Full output all nodes depending on a conditional
Hi All, I have to insert a node in a picking document depending on a condition of an earlier document. But when I get the output does not go all the documents, only the document that it performed the condition (picking). Working with xsl 1.0 What should I do? XML File: <?xml version="1.0" encoding="iso-8859-1"?> <spoolpd> <pd> <detfac> <blqcab> <numpedido>1006314098</numpedido> <lugar>BOGOTA</lugar> </blqcab> <pie> <linea1>693.85</linea1> <linea2>57.92</linea2> <linea3>635.93</linea3> <linea4>15.00</linea4> </pie> </detfac> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> </cabecera> </pagina> </picking> </pd> <pd> <detfac> <blqcab> <numpedido>1006314098</numpedido> <lugar>BOGOTA</lugar> </blqcab> <pie> <linea1>10.85</linea1> <linea2>20.92</linea2> <linea3>30.93</linea3> <linea4>15.00</linea4> </pie> </detfac> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> </cabecera> </pagina> </picking> </pd> </spoolpd> My XSL 1.0 File: <?xml version="1.0" encoding="iso-8859-1"?> <xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> <xsl:output method="xml" version="1.0" encoding="iso-8859-1" indent="yes" cdata-section-elements="descrip"/> <xsl:strip-space elements="*"/> <xsl:template match="@* | node()"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> </xsl:copy> </xsl:template> <xsl:template match="spoolpd"> <xsl:copy> <xsl:apply-templates select="@* | pd[@marca = 'lbel'] | pd"/> </xsl:copy> </xsl:template> <xsl:template match="pd"> <xsl:copy> <xsl:variable name="id" select="translate(detfac/pie/linea3,',','')"/> <xsl:if test="$id > '500'"> <xsl:apply-templates select="@* | picking"/> </xsl:if> </xsl:copy> </xsl:template> <xsl:template match="cabecera"> <xsl:copy> <xsl:apply-templates select="@* | node()"/> <advertencia>marca</advertencia> </xsl:copy> </xsl:template> </xsl:stylesheet> Desired output: <?xml version="1.0" encoding="iso-8859-1"?> <spoolpd> <pd> <detfac> <blqcab> <numpedido>1006314098</numpedido> <lugar>BOGOTA</lugar> </blqcab> <pie> <linea1>693.85</linea1> <linea2>57.92</linea2> <linea3>635.93</linea3> <linea4>15.00</linea4> </pie> </detfac> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> </picking> </pd> <pd> <detfac> <blqcab> <numpedido>1006314098</numpedido> <lugar>BOGOTA</lugar> </blqcab> <pie> <linea1>10.85</linea1> <linea2>20.92</linea2> <linea3>30.93</linea3> <linea4>15.00</linea4> </pie> </detfac> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> </picking> </pd> </spoolpd> Current Output: ====> DETFAC DOCUMENT MISSING <?xml version="1.0" encoding="iso-8859-1"?> <spoolpd> <pd> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> </picking> </pd> <pd> <picking> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> <pagina> <cabecera> <esttrabalta>09-01-05-07</esttrabalta> <esttrabmedbaja></esttrabmedbaja> <advertencia>marca</advertencia> </cabecera> </pagina> </picking> </pd> </spoolpd> thanks for the help. Luis Fdo.
|
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
|