LMSGI05 - DAM - Lenguajes de marcas y sistemas de gestión de información - UT5.- Conversión y adaptación de documentos XML. Contenidos.
4.5.- Funciones de XPath.
XPath también nos proporciona funciones.
Podemos emplearlas, unidas a las rutas de localización, para hacer cosas sobre los conjuntos de elementos que devuelven los predicados (que veremos enseguida).
Entre las funciones más importantes que podemos utilizar en XPath destacan:
boolean()
, al aplicarla sobre un conjunto de nodos devuelve true si no es vacío.not()
, al aplicarla sobre un predicado devuelve true si el predicado es falso , y falso si el predicado es true.true()
, devuelve el valor true.false()
, devuelve el valor false.count()
, devuelve el número de nodos que forman un conjunto de nodos.name()
, devuelve un nombre de un nodo.local-name()
, devuelve el nombre del nodo actual o del primer nodo de un conjunto de nodos.namespace-uri()
, devuelve el URI del nodo actual o del primer nodo de un conjunto dado.position()
, devuelve la posición de un nodo en su contexto comenzando en 1. Por ejemplo, para seleccionar los dos primeros elementos de tipo elemento de un fichero XML pondremos://elemento[position()<=2]
last()
, Devuelve el último elemento del conjunto dado.normalize-space()
, permite normalizar los espacios de una cadena de texto, es decir, si se introduce una cadena donde hay varios espacios consecutivos, esta función lo sustituye por uno solo.string()
, es una función que convierte un objeto en una cadena. Los valores numéricos se convierten en la cadena que los representa teniendo en cuenta que los positivos pierden el signo. Los valores booleanos se convierten en la cadena que representa su valor, esto es “true” o “false”.concat()
, devuelve dos cadenas de texto concatenadas. El ejemplo siguiente devuelve “XPath permite obtener datos de un fichero XML”.
concat('XPath', 'permite obtener datos de un fichero XML')
string-length()
, devuelve la cantidad de caracteres que forman una cadena de caracteres.sum()
, devuelve la suma de los valores numéricos de cada nodo en un conjunto de nodos determinado.