{ for $p in fn:doc("carnet/carnet.xml")/carnet/personne return { $p/nom } } { for $p in fn:doc("carnet/carnet.xml")/carnet/personne return { $p/nom/text() } } { for $p in fn:doc("carnet/carnet.xml")/carnet/personne return { fn:concat($p/nom/text()," ",$p/prenom/text()) } } { for $p in fn:doc("carnet/carnet.xml")/carnet/personne where $p/@titre="M." return { fn:concat($p/nom/text()," ",$p/prenom/text()) } } xquery version "1.0" encoding "ISO-8859-1"; { for $p in fn:doc("carnet/carnet.xml")/carnet/personne let $adresse := fn:concat($p/adresse/rue, " ", $p/adresse/numero," à ",$p/adresse/zip," ",$p/adresse/commune) where $p/@titre="M." return { fn:concat($p/nom/text()," ",$p/prenom/text(),", ",$adresse) } } { fn:count(fn:doc("carnet/carnet.xml")/carnet/personne) } { for $p in fn:doc("carnet/carnet.xml")/carnet/personne return { fn:concat($p/nom/text()," ",$p/prenom/text()) } { for $v in fn:doc("carnet/carnet.xml")/carnet/personne[adresse/commune = $p/adresse/commune and nom!=$p/nom and prenom!=$p/prenom] return { fn:concat($v/nom/text()," ",$v/prenom/text()) } } } { for $commune in fn:distinct-values(fn:doc("carnet/carnet.xml")/carnet/personne/adresse/commune) order by $commune return {$commune} } { for $commune in fn:distinct-values(fn:doc("carnet/carnet.xml")/carnet/personne/adresse/commune) order by $commune return { for $p in fn:doc("carnet/carnet.xml")/carnet/personne[adresse/commune = $commune] return {concat($p/nom," ",$p/prenom)} } } { for $commune in fn:distinct-values(fn:doc("carnet/carnet.xml")/carnet/personne/adresse/commune) let $habitants := fn:count(fn:doc("carnet/carnet.xml")/carnet/personne[adresse/commune = $commune]) order by $commune return }