Funciones del descriptor de acceso a datos

En los temas expuestos en esta sección se ofrecen descripciones y ejemplos de código para las funciones del descriptor de acceso a datos.

Información acerca de fn:data (), fn:string () y text()

XQuery tiene una función fn:data() para extraer valores escalares con tipo a partir de nodos, una prueba de nodo text() para devolver nodos de texto, y la función fn:string() que devuelve el valor de cadena de un nodo. Su uso puede resultar confuso. A continuación, se presentan las directrices para usarlas correctamente en SQL Server. A modo de ilustración, se utiliza la instancia XML <age>12</age>.

  • XML sin tipo: la expresión de ruta de acceso /age/text() devuelve el nodo de texto "12". La función fn:data(/age) devuelve el valor de cadena "12", igual que fn:string(/age).

  • XML con tipo: la expresión /age/text() devuelve un error estático para cada elemento <age> simple con tipo. Por otro lado, fn:data (/edad) devuelve el entero 12. La función fn:string(/age) produce la cadena "12".