XSL: Evite exportar definições de namespace para documentos XML resultantes

Eu gostaria de pegar dados de alguns arquivos XML e transformá-los em um novo documento XML. No entanto, não desejo que a definição de um namespace no XSLT ocorra no documento resultante.

Em outras palavras:

fonte:

 

folha de estilo:

   

resultado:

   

Eu estou usando o msxsl para a transformação.

Você pode usar o atributo exclude-result-prefixes do elemento xsl:stylesheet para suprimir namespaces do documento de saída:

    

Para suprimir vários namespaces do documento de saída, especifique-os separados por espaço em branco:

 exclude-result-prefixes="ns1 ns2 ns3" 

Da especificação XSLT :

Quando uma folha de estilo usa uma declaração de namespace apenas para fins de endereçamento da tree de origem, a especificação do prefixo no atributo exclude-result-prefixos evitará declarações supérfluas de namespace na tree de resultados.

A resposta do divo já foi escolhida e apropriadamente.

Mas se você estiver interessado em ir mais fundo, confira a seção “Muitos espaços de nomes” na minha obra-prima sobre o popular tópico popular “Namespaces in XSLT”. (Sim, isso é para ser irônico. :-))

use extension-element-prefixes = “Namespace”

gostar:

  
Intereting Posts