vinculado ser resolverse proyecto prefijo nombres lectura está espacio error definido debe como xml xslt namespaces export msxsl

xml - ser - el prefijo del espacio de nombres no está definido



XSL: Evite exportar definiciones de espacio de nombres a documentos XML resultantes (3)

La respuesta de Divo ya fue elegida, y apropiadamente.

Pero si estás interesado en profundizar, consulta la sección "Demasiados espacios de nombre" en mi obra magna sobre el popular tema "Espacios de nombres en XSLT". (Sí, eso es para ser irónico. :-))

Me gustaría tomar datos de algunos archivos XML y transformarlos en un nuevo documento XML. Sin embargo, no quiero que la definición de un espacio de nombres en el XSLT ocurra en el documento de resultados.

En otras palabras:

fuente:

<Namespace:Root xmlns:Namespace="http://www.something.com">

hoja de estilo:

<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:Namespace="http://www.something.com">

resultado:

<resultRoot xmlns:Namespace="http://www.something.com"> <!--I don''t want the Namespace definition above-->

Estoy usando msxsl para la transformación.


Puede usar el atributo exclude-result-prefixes del elemento xsl:stylesheet para suprimir espacios de nombres del documento de salida:

<?xml version="1.0" encoding="ISO-8859-1"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:Namespace="http://www.something.com" exclude-result-prefixes="Namespace"> </xsl:stylesheet>

Para suprimir varios espacios de nombres del documento de salida, especifíquelos separados por espacios en blanco:

exclude-result-prefixes="ns1 ns2 ns3"

De la especificación XSLT :

Cuando una hoja de estilo utiliza una declaración de espacio de nombres solo para el direccionamiento del árbol fuente, al especificar el prefijo en el atributo exclude-result-prefixes se evitarán las declaraciones superfluas del espacio de nombres en el árbol de resultados.


use extension-element-prefixes = "Namespace"

me gusta:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:datetime="http://exslt.org/dates-and-times" xmlns:str="http://exslt.org/strings" xmlns:exsl="http://exslt.org/common" xmlns:uw="xalan://ru.sbtc.util.XSLUtil" extension-element-prefixes="exsl str datetime uw" version="1.0">