[XSL-LIST Mailing List Archive Home]
[By Thread]
[By Date]
Thanks.
But how to rename the node : RICHIESTA_PRESTAZIONI_EROGABILI into :ELENCO_PRESTAZIONI
inside this magic stuff?
My question is :
rename attribute idCup in idCUP
and rename nome RICHIESTA_PRESTAZIONI_EROGABILI to ELENCO_PRESTAZIONI
this is my input:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.standardcup.esel.it">
<soapenv:Body>
<ser:RICHIESTA_PRESTAZIONI_EROGABILI DataOra="10102005" idCup="1" idOperatore="1"/>
</soapenv:Body>
</soapenv:Envelope>
and i want this output:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://regione.campania.it/schemas/cup">
<soapenv:Body>
<ser:ELENCO_PRESTAZIONI DataOra="?" idCUP="?" idOperatore="?">
<ser:PRESTAZIONE/>
</ser:ELENCO_PRESTAZIONI>
</soapenv:Body>
</soapenv:Envelope>
Thanks.
Abel Braaksma ha scritto:
Re: [xsl] Rename Some Node and attribute
Subject: Re: [xsl] Rename Some Node and attribute From: Davide Antoni <davide.antoni@xxxxxxxxxxx> Date: Mon, 16 Oct 2006 17:00:52 +0200 |
Thanks.
But how to rename the node : RICHIESTA_PRESTAZIONI_EROGABILI into :ELENCO_PRESTAZIONI
inside this magic stuff?
My question is :
rename attribute idCup in idCUP
and rename nome RICHIESTA_PRESTAZIONI_EROGABILI to ELENCO_PRESTAZIONI
this is my input:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://services.standardcup.esel.it">
<soapenv:Body>
<ser:RICHIESTA_PRESTAZIONI_EROGABILI DataOra="10102005" idCup="1" idOperatore="1"/>
</soapenv:Body>
</soapenv:Envelope>
and i want this output:
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:ser="http://regione.campania.it/schemas/cup">
<soapenv:Body>
<ser:ELENCO_PRESTAZIONI DataOra="?" idCUP="?" idOperatore="?">
<ser:PRESTAZIONE/>
</ser:ELENCO_PRESTAZIONI>
</soapenv:Body>
</soapenv:Envelope>
Thanks.
Abel Braaksma ha scritto:
Davide Antoni wrote:Hi to all
<xsl:template match="*"> <xsl:copy> <xsl:copy-of select="@*[name()!='idCup']"/> <xsl:if test="@idCup"> <xsl:attribute name="idCUP"> <xsl:value-of select="@idCup"> </xsl:value-of> </xsl:attribute> </xsl:if> <xsl:apply-templates/> </xsl:copy> </xsl:template>
Why all the complex xsl:copy and xsl:copy-of intermingled with xsl:if? Make it yourself easier by applying the (in)famous copy-idiom. Try this as a complete replacement of your code and the magic of XSLT will do the work:
<xsl:template match="node( ) | @*"> <xsl:copy> <xsl:apply-templates select="@* | node( )"/> </xsl:copy> </xsl:template>
<xsl:template match="@idCup"> <xsl:attribute name="idCUP"> <xsl:value-of select="."/> </xsl:attribute> </xsl:template>
Hope this helps,
Cheers -- Abel Braaksma http://www.nuntia.com
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Rename Some Node ans attr, Abel Braaksma | Thread | [xsl] [XSLT 2.0] Checking that an e, Costello, Roger L. |
Re: [xsl] Rename Some Node ans attr, Abel Braaksma | Date | Re: [xsl] XSL and XML Help, Wendell Piez |
Month |
Keywords