El lenguaje de programación XQuery define FLWOR (pronunciado 'flor') como una expresión que admite la iteración y la unión de variables a resultados intermedios. FLWOR es un acrónimo: FOR , LET , WHERE, ORDER BY, RETURN. [1] FLWOR es vagamente análogo a SQL 's SELECT-FROM-DONDE y se puede utilizar para proporcionar unirse similar a la funcionalidad XML documentos.
- para crea una secuencia de nodos
- vamos a enlazar una secuencia a una variable
- donde filtra los nodos en una expresión booleana
- ordenar por ordena los nodos
- el retorno se evalúa una vez para cada nodo
Ejemplo
for $ d in doc ( "depts.xml" ) // deptno let $ e : = doc ( "emps.xml" ) // empleado [ deptno = $ d ] donde count ( $ e ) > = 10 pedido por avg ( $ e / salario ) rendimiento descendente { $ d , { count ( $ e )} headcount> , { avg ( $ e / salario )} }
La primera columna de la solicitud de XQuery muestra las palabras clave for , let , where , order by y return del paradigma FLWOR. En términos sencillos, esto podría leerse como "Obtenga todos los departamentos que tienen más de diez empleados, ordene estos departamentos disminuyendo el salario promedio y devuelva un informe de números de departamento, recuentos de personal y salario promedio en cada departamento grande" . El resultado podría verse así:
17 < headcount> 25 headcount > 12500 24 < headcount > 18 headcount > 11327 3 < headcount > 32 headcount> 10725 < / gran-departamento>
Ejemplo usando Microsoft SQL Server
DECLARE @xml XML SET @xml = ' 42 27 a b ' SELECCIONAR x . y . query ( 'para $ s en self :: node () return $ s // item_1 / text ()' ) como i , x . y . query ( 'para $ s en self :: node () return $ s // item_2 / text ()' ) como j DESDE @xml . nodos ( '/ elemento_raíz' ) AS x ( y );
Referencias
enlaces externos
- Consulta XML W3C (XQuery) - Expresiones FLWOR
- Ejemplos de FLWOR
- Introducción a FLWOR
- https://web.archive.org/web/20111008001258/http://w3schools.com/xquery/xquery_flwor.asp