declare namespace cli = "http://www.samples.com/clients"; { for $cli in fn:doc("commandes/clients.xml")/cli:clients/cli:client return {$cli/cli:nom/text()} } declare namespace cli = "http://www.samples.com/clients"; { for $cli in fn:doc("commandes/clients.xml")/cli:clients/cli:client order by $cli/cli:nom return {$cli/cli:nom/text()} } xquery version "1.0" encoding "ISO-8859-1"; declare namespace cli = "http://www.samples.com/clients"; { for $clients in fn:doc("commandes/clients.xml")/cli:clients/cli:client group by $type := $clients/@type return element {$type} { for $client in $clients order by $client/cli:nom return {$client/cli:nom/text()} } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace cli = "http://www.samples.com/clients"; { for $pays in fn:distinct-values(fn:doc("commandes/clients.xml")/cli:clients/cli:client/cli:adresse-livraison/cli:pays) order by $pays return element { $pays } { for $client in fn:doc("commandes/clients.xml")/cli:clients/cli:client[cli:adresse-livraison/cli:pays = $pays] return {$client/cli:nom/text()} } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace cli = "http://www.samples.com/clients"; { for $pays in fn:distinct-values(fn:doc("commandes/clients.xml")/cli:clients/cli:client/cli:adresse-livraison/cli:pays) order by $pays return element { $pays } { for $client in fn:doc("commandes/clients.xml")/cli:clients/cli:client[cli:adresse-livraison/cli:pays = $pays] return { if ($client/cli:tva) then attribute tva { $client/cli:tva/text() } else () , $client/cli:nom/text() } } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; { for $p in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit order by $p/pr:nom return {$p/pr:nom/text()} } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; { for $p in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit order by $p/pr:nom return {$p/pr:nom/text()} } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; { for $cat in fn:doc("commandes/categories.xml")/pr:catégories/pr:catégorie order by $cat/pr:nom return { for $p in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit[@catégorie=$cat/@id] order by $p/pr:nom return {$p/pr:nom/text()} } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; { for $cat in fn:doc("commandes/categories.xml")/pr:catégories/pr:catégorie, $p in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit where $cat/@id = $p/@catégorie order by $cat/pr:nom return {fn:concat($p/pr:nom/text()," (",$cat/pr:nom/text(),")")} } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; declare namespace cmd = "http://www.samples.com/commandes"; declare variable $listeProduits := { for $cat in fn:doc("commandes/categories.xml")/pr:catégories/pr:catégorie, $p in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit where $cat/@id = $p/@catégorie order by $cat/pr:nom return {fn:concat($p/pr:nom/text()," (",$cat/pr:nom/text(),")")} } ; { for $commande in fn:doc("commandes/commandes.xml")/cmd:commandes/cmd:commande return { for $produit in $commande/cmd:produit, $descr in $listeProduits/produit where $produit/@ref = $descr/@code return {$descr/text()} } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; declare namespace cmd = "http://www.samples.com/commandes"; declare variable $commandes := for $commande in fn:doc("commandes/commandes.xml")/cmd:commandes/cmd:commande return { for $prCmd in $commande/cmd:produit, $produit in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit where $prCmd/@ref = $produit/@id return { attribute prix-unitaire { $produit/pr:prix[number(@quantité) <= number($prCmd/@quantité)][last()]/text() }, attribute total { $produit/pr:prix[number(@quantité) <= number($prCmd/@quantité)][last()]/text() * $prCmd/@quantité}, $produit/pr:nom/text() } } ; { for $cmd in $commandes return { for $prCmd in $cmd/produit return { $prCmd/text() } } } xquery version "1.0" encoding "ISO-8859-1"; declare namespace pr = "http://www.samples.com/produits"; declare namespace cmd = "http://www.samples.com/commandes"; declare variable $commandes := for $commande in fn:doc("commandes/commandes.xml")/cmd:commandes/cmd:commande return { for $prCmd in $commande/cmd:produit, $produit in fn:doc("commandes/produits.xml")/pr:catalogue/pr:produit where $prCmd/@ref = $produit/@id return { attribute prix-unitaire { $produit/pr:prix[number(@quantité) <= number($prCmd/@quantité)][last()]/text() }, attribute total { $produit/pr:prix[number(@quantité) <= number($prCmd/@quantité)][last()]/text() * $prCmd/@quantité}, $produit/pr:nom/text() } } ; { for $cmd in $commandes return { for $prCmd in $cmd/produit return { $prCmd/text() } } }