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()
}
}
}