La verificación del espacio de nombres está deshabilitada en el servidor que maneja las transformaciones XSL (porque el tipo que escribió el XSL no entendía los espacios de nombres). Tengo que hacer cambios en el XSL pero no puedo probarlo porque no hay espacios de nombres definidos, es decir.¿Hay alguna manera de ignorar los espacios de nombres durante una transformación XSL?
En lugar de
<xsl:template match="ns:element[position()=1]">...
tiene
<xsl:template match="element[position()=1]">...
por lo que no coincide con ninguno de los elementos en el XML, porque todos ellos son todos calificados con espacios de nombres.
No puedo probar en el servidor porque no tengo acceso a él. No sirve de nada arreglar el XSL porque la verificación del espacio de nombres deberá estar habilitada, y eso romperá todas las demás transformaciones.
Entonces, lo que tengo que hacer es encontrar una forma de ignorar los espacios de nombres durante una transformación XSL. Tengo acceso a MSXML, XMLSpy (no puedo encontrar una opción aquí) y si realmente necesito puedo codificar algo en C# o en un lenguaje similar.
Como último recurso que pueda codificar hasta unas pocas expresiones regulares pero realmente no quiero ir por ese camino, sobre todo cuando se trata de XML ...
En respuesta a un comentario acerca de más detalles:
Es un servidor virtual de Windows 2003, ejecutando una instancia de un Servlet de Methode (www.eidosmedia.com). No sé qué técnica utiliza este servlet para realizar transformaciones XSL. Están ignorando los espacios de nombres porque la persona que originalmente escribió el XSL no los entendía y no los incluyó en el XSL. Entonces, ahora todos los archivos XSL (cientos) no tienen espacios de nombres.
Podría ser un reto interesante para arreglar todos estos archivos de una sola vez, pero eso no es lo que necesito ahora (y el jefe de departamento no estaría de acuerdo en que de todos modos, debido a la cantidad de pruebas que participan). Todo lo que quiero saber es si hay una herramienta (o técnica) disponible que me permita tomar estos archivos XSL como están y usarlos para transformar un documento XML correspondiente sin tener en cuenta los espacios de nombres. Me parece que debe existir una herramienta, porque el tipo que escribió el XSL original debe haber usado algo similar para probar las transformaciones él mismo.
¿Cómo se desactiva la verificación del espacio de nombres en un servidor? Nunca había oído hablar de tal cosa. –
Es un producto de terceros (no Microsoft o Sun) que maneja transformaciones. Simplemente le pidieron a los desarrolladores que les dieran una opción para deshabilitarlo. – ilitirit
¿Podríamos obtener más detalles? Como qué tipo de servidor, etc. Además, ¿qué problema quieren resolver ignorando los espacios de nombres? Ignorar los espacios de nombres es muy difícil, por lo que si conocemos el problema detrás del problema, podríamos tratar de abordarlo en su lugar. –