xslt | xpath functions

www.altova.com Imprimir este apartado Página anterior Subir un nivel Página siguiente

Inicio >  Funciones > Referencia de la biblioteca de funciones >

xslt | xpath functions

Las funciones de la biblioteca xslt | xpath son funciones de conjunto de nodos XPath 1.0. Estas funciones toman un nodo o conjunto de nodos como contexto y devuelve información sobre ellos. Estas funciones suelen tener:

 

un nodo de contexto (por ejemplo, el nodo de contexto para la función lang de la imagen siguiente es el elemento Language del esquema de origen).
un argumento de entrada (por ejemplo, el argumento de entrada para la función lang de la imagen siguiente es la constante en). Las funciones last y position no toman argumentos.

FXxpath10

 

lang

Esta función toma una cadena de entrada que identifica el código de idioma (p. ej. en). La función devuelve true o false dependiendo de si el nodo de contexto tiene o no un atributo xml:lang cuyo  valor coincide con el argumento de la función. En la imagen anterior, por ejemplo:

 

1.El elemento Language del esquema de origen tiene un atributo xml:lang.
2.Los nodos Language se filtran para que solamente se procesen aquellos cuyo atributo xml:lang tenga el valor en (la prueba de filtro se especifica en la función equal).
3.El nodo Language es el nodo de contexto en el punto donde se crea el elemento en en el documento de destino.
4.El resultado de la función lang (true o false) se envía al atributo en/@exists del documento de destino. El argumento de la función viene dado por la constante en. La función lang comprueba si el nodo de contexto en este punto (el elemento Language) tiene o no un atributo xml:lang con valor en (el argumento de la función). Si es así, la función devuelve true. Si no, devuelve false.

 

last, position

Las funciones last y position tampoco tienen argumentos. La función last devuelve la posición del último nodo del conjunto de nodos de contexto. La función position devuelve la posición del nodo actual del conjunto de nodos que se está procesando.

 

El conjunto de nodos de contexto de los nodos a los que se dirigen las funciones es el conjunto de nodos al que afectarán las funciones. Por ejemplo, en la imagen siguiente, el conjunto de nodos de los elementos Language es el conjunto de nodos de contexto para las funciones last y position.

 

FXxpath10last

 

En el ejemplo, la función last devuelve la posición del último nodo del conjunto de nodos de contexto (el conjunto de nodos de los elementos Language) como valor del atributo number. Este valor también es el tamaño del conjunto de nodos, puesto que indica el número de nodos que contiene el conjunto.

 

La función position devuelve la posición del nodo Language que se está procesando en ese momento. La posición de cada nodo Language dentro del conjunto de nodos de los elementos Language se escribe en el atributo language/@position. Recomendamos utilizar las funciones position y count de la biblioteca de funciones core.

 

name, local-name, namespace-uri

Estas funciones devuelven respectivamente el nombre, el nombre local y el URI de espacio de nombres del nodo de entrada. En la imagen siguiente puede ver cómo se usan (observe que no se especifica el nodo de contexto).

 

La función name devuelve el nombre del nodo Language y lo envía al atributo language/@elementname. Si el argumento de la función es un conjunto de nodos en lugar de un solo nodo, devuelve el nombre (o nombre local o URI de espacio de nombres) del primer nodo del conjunto de nodos.

 

FXxpath10name

 

La función name devuelve el QName del nodo. La función local-name devuelve la parte de nombre local del QName del nodo. Por ejemplo, si el QName de un nodo es altova:MiNodo, el nombre local es MiNodo.

 

El URI de espacio de nombres es el URI del espacio de nombres al que pertenece el nodo. Por ejemplo, se puede declarar el prefijo altova: para crear una asignación a un URI de espacio de nombres de esta manera: xmlns:altova="https://www.altova.com/namespaces".

 

Nota:en la biblioteca de funciones core puede encontrar más funciones XPath 1.0.

© 2019 Altova GmbH