Función XSLT Reemplazar no encontrada

Estoy escribiendo una transformación XSLT en la que deseo usar la función Reemplazar para hacer una coincidencia y reemplazar regex.

Sin embargo, Visual Studio 2008 informa que

replace ()’ es una función XSLT desconocida.

El bit de código en sí es:

      

¿Hay algo que estoy haciendo mal?

Gracias 🙂

Editar: Estoy usando esta versión de XSLT, pero parece que es la versión de Visual Studio un problema … Tendré que intentar encontrar una solución alternativa.

  

La función de replace solo está disponible en XSLT versión 2.0, no en la versión 1.0, que es lo que Visual Studio usa . El hecho de que haya especificado version="2.0" no significa que Visual Studio lo admita.

Aquí hay una plantilla en el código que implementa string-replace en XSLT 1.0 . Debería poder usarlo, pero no puedo garantizar su eficacia.

(Tomado del enlace de arriba)

                    

Lo llamarías así:

           

Reemplazar no es válido en XSLT 1.0. Tiene “translate ()”, que podría funcionar para usted, pero replace () es XSLT 2 y no parte de la base de código XML de MS .NET. Sin embargo, puede obtenerlo con algunas bibliotecas XML de terceros.

Para el reemplazo simple de cadenas, la función de traducir (disponible en xslt 1.0) funcionó bien para mí.

Lo usé para eliminar espacios para valores numéricos.

¿Qué hay de la incrustación de ac # script para hacer el reemplazo?

Agregue lo siguiente a la parte inferior de su hoja de estilo:

< ![CDATA[ public string Replace(string stringToModify, string pattern, string replacement) { return stringToModify.Replace(pattern, replacement); } ]]>

Agregue un atributo de espacio de nombres al elemento de la hoja de estilo:

xmlns:scr="urn:scr.this"

Entonces implementa como ….

  

deberías haber colocado la característica = cadena entre comillas de la siguiente manera

         Thanks 

Por lo que sé, replace() fue introducido en XLST 2.0. ¿Cuál es la definición de versión de su documento? Quizás deba configurar VS 2008 para utilizar XLST 2.0 (si es posible).