E ai moçada,
Tenho que transformar um XML com um XSL, mas to apanhando do namespace.
O XML está assim:
<?xml version="1.0" encoding="ISO-8859-1"?>
<?xml-stylesheet type="text/xsl" href="xxx.xsl"?>
<PerformanceDistritoRetorno xmlns="http://report.preformance.mdc.xxx.com.br"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<Praca>Praça de Testes</Praca>
<EstruturaPerformance xsi:type="rep:EstruturaPerformance"
xmlns:rep="http://report.preformance.mdc.xxx.com.br">
<cota_p1>610.0</cota_p1>
<cota_p2>597.0</cota_p2>
</EstruturaPerformance>
</PerformanceDistritoRetorno>
E o XSL assim:
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<xsl:value-of select="PerformanceDistritoRetorno/Praca"/>
<xsl:for-each select="PerformanceDistritoRetorno/EstruturaPerformance">
<xsl:value-of select="cota_p1"/> - <xsl:value-of select="cota_p2"/>
</xsl:for-each>
</xsl:template>
</xsl:stylesheet>
Acontece que por causa do namespace padrão do XML, nenhum valor é exibido depois da transformação. Porém, se eu tiro a definição do namespace do XML, tudo funciona.
Como não sou eu que gero o XML, eu gostaria de colocar o XSL para entender o namespace informado no XML.
Tentei algumas formas, porém não deu. Alguem pode ajudar?