copy-namespaces
Instruction Xml Query. Mode de gestion des espaces de noms des éléments et des documents à la construction.
Syntaxe
declare copy-namespaces ModePreservation ,
ModeHeritage ;
Description
L'instruction copy-namespaces définit comment créer les espaces de noms des noeuds fils des éléments et documents construits dynamiquement :
- Si l'attribut preserve est employé alors les noeuds fils issus d'une copie le sont en préservant tous les espaces de noms d'origine non utilisés par le fils ou ses attributs.
- Si l'attribut no-preserve est employé alors les noeuds fils issus d'une copie le sont sans préserver les espaces de noms d'origine non utilisés par le fils ou ses attributs.
Les espaces de noms utilisés par le fils ou ses attributs sont toujours copiés. De plus :
- Si l'attribut inherit est employé alors ces noeuds fils issus d'une copie héritent des espaces de noms du noeud cible de la copie - le noeud construit dynamiquement.
- Si l'attribut no-inherit est employé alors ces noeuds fils issus d'une copie n'héritent pas des espaces de noms du noeud cible de la copie - le noeud construit dynamiquement.
En cas de conflit entre héritage et préservation d'un espace de noms, la préservation est prioritaire.
Exemple
<-- Les elements copies preservent leurs espaces de noms non utilises et heritent de ceux de la cible. -->
declare copy-namespaces preserve, inherit;
<-- Les elements copies preservent leurs espaces de noms non utilises et n'heritent pas de ceux de la cible. -->
declare copy-namespaces preserve, no-inherit;
<-- Les elements copies ne preservent pas leurs espaces de noms non utilises et heritent de ceux de la cible. -->
declare copy-namespaces preserve, inherit;
<-- Les elements copies ne preservent pas leurs espaces de noms non utilises et n'heritent pas de ceux de la cible. -->
declare copy-namespaces preserve, no-inherit;
Voir aussi
declare pour poser une déclaration.
inherit pour hériter des espaces de noms de la cible.
preserve pour préserver les espaces de noms d'origine.
no-inherit pour ne pas hériter des espaces de noms de la cible.
no-preserve pour ne pas préserver les espaces de noms d'origine.