Si votre élément a un contenu d'élément ou un contenu mixte, son modèle de contenu est représenté par un noeud de groupe. Vous pouvez ajouter des éléments enfants ou un autre groupe à un noeud de groupe et spécifiez à quelle fréquence et de quelle manière un groupe d'éléments sera disponible dans un fichier XML associé avec votre DTD.
Les instructions suivantes ont été écrites dans la perspective Ressource, mais elles fonctionneront également dans de nombreuses autres perspectives.
Pour éditer un noeud de groupe, effectuez les opérations suivantes :
- Ouvrez votre DTD dans l'éditeur de DTD.
- Dans la vue Structure, développez l'arborescence de l'élément avec lequel vous voulez travailler.
- Cliquez sur le noeud de groupe que vous voulez utiliser.
- Dans la vue Conception, sélectionnez Séquence ou Choix dans la liste Groupe de modèle. Cela spécifie si le groupe d'éléments est trié en séquence ou disponible en tant que choix dans un fichier XML.
- Sélectionnez l'option appropriée dans la liste Occurrence pour indiquer la fréquence avec laquelle le groupe d'éléments peut se produire dans un fichier XML associé à ce DTD.
- Pour ajouter un autre élément existant à un groupe en tant qu'enfant, cliquez avec le bouton droit de la souris sur le noeud de groupe, cliquez sur Ajouter un élément au modèle de contenu et sélectionnez-le.
- Vous pouvez également ajouter un groupe à un noeud de groupe existant en cliquant avec le bouton droit de la souris sur le noeud de groupe et en cliquant sur Ajouter un groupe au modèle de contenu
Remarque :l'option Occurrence du noeud de groupe ne spécifie que la fréquence avec laquelle l'ensemble du groupe d'éléments peut se produire dans un fichier XML. Pour chaque élément enfant contenu dans le groupe, vous pouvez également spécifier la fréquence avec laquelle il peut se produire (c'est-à-dire, la fréquence avec laquelle un élément enfant peut se produire est totalement indépendante de la fréquence avec laquelle le groupe qui le contient peut se produire).
Conseil :
Pour changer l'ordre des éléments répertoriés au-dessous d'un noeud de groupe, cliquez simplement sur l'élément que vous voulez déplacer et faites-le glisser vers l'emplacement de destination.
Création d'un noeud de groupe contenant une liste de "small pets"
Les étapes suivantes illustrent la manière de créer un noeud de groupe contenant une liste de "small pets" et expliquent comment les choix que vous faites affectent la manière avec laquelle votre noeud de groupe (et les éléments qu'il contient) peut être utilisé dans tout fichier XML basé sur votre fichier DTD :
- Créez un nouveau fichier DTD appelé Pets.dtd et ouvrez-le dans l'éditeur de DTD.
- Dans la vue Structure, cliquez avec le bouton droit de la souris sur votre fichier DTD et créez un nouvel élément SmallPets.
Créez également trois autres éléments - Cats,Dogs et Fish.
- Développez SmallPets et sélectionnez le modèle de contenu VIDE. Sélectionnez Contenu mixte dans la liste Type de contenu. Cela signifie que votre élément SmallPets peut contenir d'autres éléments et des données de type caractères.
- Votre modèle de contenu est maintenant représenté par un noeud de groupe
. Un élément #PCDATA (pour les données de type caractères) et un nouvel élément enfant sont automatiquement créés sous celui-ci. Sélectionnez newChild et Dogs dans la liste Modèle de contenu.
- Cliquez avec le bouton droit de la souris sur le noeud de groupe et cliquez sur Ajouter un élément au modèle de contenu. Sélectionnez le nouveau noeud enfant et Cats dans la liste Modèle de contenu.
- Répétez l'étape précédente et sélectionnez Fish dans la liste Modèle de contenu.
- Maintenant que vous avez créé votre liste de "small pets", vous devez décider si vous voulez que les utilisateurs puissent les sélectionner tous ou simplement l'un d'entre eux dans un fichier XML basé sur ce fichier Pets.dtd. Par exemple, vous créez un nouveau fichier XML appelé Pets.xml basé sur ce DTD et vous créez un élément SmallPets à l'intérieur. Si vous avez sélectionnéSéquence comme groupe de modèle dans le fichier DTD, alors vous pouvez avoir tous vos "small pets" ( Cats,
Dogs et Fish) dans votre élément SmallPets dans le fichier Pets.xml. Si, cependant vous avez sélectionné Choix comme groupe de modèle, vous ne pouvez avoir qu'un seul animal répertorié dans votre élément SmallPets dans le fichier Pets.xml. Vous pouvez avoirCats ou Dogs ou Fish, mais un seul à la fois.
- Maintenant vous devez décider à quelle fréquence ce groupe d'éléments (la liste de "small
pets") peut se produire dans un fichier XML associé avec ce DTD. Vous pouvez spécifier qu'il doit apparaître une seule fois (Juste une fois), qu'il doit apparaître une ou plusieurs fois (Une ou plusieurs), qu'il n'est pas obligé d'apparaître du tout (Facultatif) ou qu'il est susceptible de ne pas être utilisé du tout ou d'être utilisé un nombre quelconque de fois (Zéro ou plus). Remarque : Vous pouvez également spécifier la fréquence avec laquelle chaque élément enfant peut se produire. La fréquence avec laquelle un élément enfant peut se produire est totalement indépendante de la fréquence avec laquelle le groupe qui le contient peut se produire.
Donc, par exemple, vous pouvez spécifier que le groupe SmallPets peut se produire Juste une fois, mais l'élément Cats peut apparaître plusieurs fois (pour cela, sélectionnez l'élément Cats et cliquez sur Un ou plusieurs).
- L'ordre avec lequel vous spécifiez les éléments enfants dans un groupe affecte la manière avec laquelle ils peuvent être utilisés dans toute instance de l'élément parent dans un fichier XML. Par exemple, si, dans votre fichier DTD, vous aviez spécifié ceci : <!ELEMENT SmallPets
(Dogs+ , Cats+ , Fish)+>, toute instance de SmallPets dans votre fichier Pets.xml doit contenir une ou plusieurs instances de Dogs suivies d'une ou plusieurs instances de Cats, suivies par juste une occurrence de Fish. Vous ne pourriez jamais avoir une occurrence de Fish après Dogs ou Cats avant Dogs.
- Vous pouvez également ajouter un groupe à un noeud de groupe existant. Sélectionnez le noeud, cliquez dessus avec le bouton droit de la souris et cliquez sur Ajouter un groupe au modèle de contenu. Vous pourriez souhaiter ajouter un noeud de groupe si vous voulez trier les animaux par race en groupes séparés.