xmlnamespacemanager utiliza sirve qué que para nombres nodo namespace leer especifico espacios ejemplos agregar xml xslt wso2 wso2bps

utiliza - xmlnamespacemanager



¿Cómo obtener el namespace-uri de un nodo en xslt sin saber el nombre del elemento? (1)

La siguiente hoja de estilo:

XSLT 1.0

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="text" encoding="UTF-8"/> <xsl:template match="/"> <xsl:value-of select="namespace-uri(*/*[1])"/> </xsl:template> </xsl:stylesheet>

devolverá el espacio de nombres del primer elemento secundario del elemento raíz.

En su ejemplo, el elemento raíz es message y su primer hijo es Header , por lo que el resultado aquí será:

http://schemas.org/Message

Estoy usando WSO2 BPS 3.2.0 y quiero asignar espacio de nombres-uri de elemento a cadena. El problema es que no sé el nombre del elemento en el momento del diseño.

Tengo datos XML

<message> <Header xmlns="http://schemas.org/Message"/> <Body xmlns="http://schemas.org/Message"> <Container xmlns="http://schemas.org/Container/1.0"> <Object> <document xmlns="http://schemas.org/doc/1.1">dfjgf...ash</document> </Object> <Object> <picture xmlns="http://schemas.org/pic/jpeg/2.0">we54uiytas...h</document > </Object> </Container> </Body> </message>

Intento usar la transformación XSLT para obtener espacio de nombres

bpel:doXslTransform("getNamespace.xsl", $Var.message/tns1:Body/tns2:Container/tns2:Object[1]) <?xml version="1.0" encoding="UTF-8" ?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:fn="http://www.w3.org/2005/xpath-functions"> <xsl:output method="xml"/> <xsl:template match="child::node[position()=1]"> <xsl:value-of select="namespace-uri(.)"/> </xsl:template>

no devuelve nada
Si utilizo el texto del método de salida, devuelve todos los textos contenidos en los datos xml. ¿Dónde me equivoco?