Flux rss
Collection CommentCaMarche.net
Rechercher : dans
Par : Pertinence Date Nom d'utilisateur
Statut : Non résolu

[XML Schema] Ajout d'attributs

  Gantark, le lundi 7 juillet 2008 à 11:14:11
Bonjour,

Je suis en train de rédiger un schema XSD pour un fichier .XML.
Je souhaiterais ajouter une contrainte pour ne pouvoir n'assigner des attributs que si un autre a une valeur particulière, ou si ce n'est pas possible, au moins ne pas pouvoir assigner certains attributs si d'autres le sont déjà.

Voici le bout de code :

<xs:element name="activity">
   <xs:complexType>
      <xs:sequence minOccurs="0">
         <!-- <xs:element ref="startDate" minOccurs="0"/>
         <xs:element ref="endDate" minOccurs="0"/> -->
         <xs:element ref="activity" minOccurs="0" maxOccurs="unbounded"/>
         <xs:element ref="account" minOccurs="0" maxOccurs="1"/>
      </xs:sequence>
      <xs:attribute name="id" type="xs:string" use="required"/>
      <xs:attribute name="name" type="xs:string" use="required"/>
      <xs:attribute name="start" type="xs:string" use="required"/>
      <xs:attribute name="end" type="xs:string" use="required"/>
      <xs:attribute name="type" use="required">
         <xs:simpleType>
            <xs:restriction base="xs:NMTOKEN">
               <xs:enumeration value="Root"/>
               <xs:enumeration value="Resource"/>
               <xs:enumeration value="Training"/>
               <xs:enumeration value="Project"/>
               <xs:enumeration value="Presales"/>
            </xs:restriction>
         </xs:simpleType>
      </xs:attribute>
      <!-- Attributes for a task -->
      <xs:attribute name="comment" type="xs:string"/>
      <xs:attribute name="probability" type="xs:int"/>
      <xs:attribute name="duration" type="xs:int"/>
      <!-- Attributes for a resource -->
      <xs:attribute name="role" type="xs:string"/>
   </xs:complexType>
</xs:element>


Dans l'idéal, je souhaiterais que l'on ne puisse assigner ces attributs :
   <xs:attribute name="comment" type="xs:string"/>
   <xs:attribute name="probability" type="xs:int"/>
   <xs:attribute name="duration" type="xs:int"/>
à l'élément "activity" que si l'attribut "type" a la valeur "Training", "Presales" ou "Project", et cet attribut :
   <xs:attribute name="role" type="xs:string"/>
à l'élément "activity" que si l'attribut "type" a la valeur "Resource".

Si ce n'est pas possible, je souhaiterais que si on assigne les trois attributs ci-dessus, on ne puisse pas assigner le dernier, et vice versa.

Pour la seconde solution, j'ai pensé à choice, mais je ne peux pas l'insérer à cet endroit. Je me demande si ce n'est pas à cause de la séquence qui a déjà été déclarée plus haut.
Je suis débutant en XML Schema mais j'ai pourtant besoin d'implémenter ces règles relativement complexes.

Merci de votre aide,
Rémi.
Répondre à Gantark  Signaler ce message aux modérateurs
Je n'y comprend plus rien (Résolu) Bonjour, je ne comprend plus lorsque je parle de base de donné . les réponses sont SQL, mysql, SGBDs, BDLP,XML, Open Source et puis structuré au format XML (DTD, XML Schéma, etc.) J'ai même lus il faut un script J'ai besoin que l'on... www.commentcamarche.net/forum/affich-9547400-je-n-y-comprend-plus-rien
Validation W3C > XML Parsing Error: attribute (Résolu) Hello, J'ai rencontré des erreurs que je n'ai jamais vues avant dans la validation W3C d'un site. voyez: http://validator.w3.org/check?uri=http%3A%2F%2Fpaquindesign.com%2FImprime%2F Quelqu'un sait ce que ça signifie? (voir la... www.commentcamarche.net/forum/affich-9011536-validation-w3c-xml-parsing-error-attribute
PHP - Parser du XML Introduction à XML PHP permet l'analyse syntaxique (parsage ou parsing en anglais) d'un document XML. Le langage XML (eXtensible Markup Language, traduisez Langage à balises extensibles) est un métalangage, c'est-à-dire un langage permettant de... www.commentcamarche.net/contents/php/phpxml.php3
Ajouter la langue arabe au clavier français sous WindowsPour ajouter le clavier en arabe sous Windows XP il suffit d'aller dans : Démarrer -> Panneau de configuration -> Options régionales et linguistiques Dans l'onglet "Langue" (ou Clavier et langues), cocher la case "Installer les fichiers pour les... www.commentcamarche.net/faq/sujet-6619-ajouter-la-langue-arabe-au-clavier-francais-sous-windows
[Windows] Programme invisible dans le menu Ajout/SuppressionCertains programmes désirés ou non (tels que des logiciels espions) chargés dans un PC n'apparaissent pas forcément dans le module Ajout/Suppression de programmes du Panneau de configuration (par exemple Pinball, un jeu livré en standard avec... www.commentcamarche.net/faq/sujet-1257-windows-programme-invisible-dans-le-menu-ajout-suppression
[Windows 2000] Affichage Ajout/suppression de programmesUn beau jour, vous voulez désinstaller un programme mais la fenêtre Ajout/suppression de programmes n'affiche que du blanc et vous avez un message d'erreur du genre : Une erreur inattendue s'est produite Cet objet ne gère pas cette propriété ou... www.commentcamarche.net/faq/sujet-1453-windows-2000-affichage-ajout-suppression-de-programmes
Editeur de schema LDAP (Résolu)Bonjour, Ma configuration de OS : - Ubuntu Feisty Fawn - OpenLDAP (slapd dernière version) Je suis à la recherche un logiciel qui permet d'éditer ou modifier les schemas (qui sont stocké dans les fichiers *.schema). Quelqu'un en connais ?... www.commentcamarche.net/forum/affich-3801554-editeur-de-schema-ldap
Le XML A quoi ca sert? (Résolu)Salut tous le monde, Je sais, je vais en faire sauter plus d'un sur leur chaise avec le titre de ma question.... désolé d'être bete...lol En faite, j'ai vu bcp de site qui parle de xml, disant que c'est génial, je veux bien le... www.commentcamarche.net/forum/affich-2235873-le-xml-a-quoi-ca-sert
Comment installer un template sur joomla (Résolu)Bonjour, voila, j'ai téléchargé plusieurs templates, provenant chacun de sites differents, et aucun d'eux ne contient de fichiers *.xml alors que joomla me demande justement ce type de fichiers pour l'installer. es ce que quelqu'un... www.commentcamarche.net/forum/affich-4246679-comment-installer-un-template-sur-joomla
Télécharger DriveImage XMLDriveImage XML est un programme permettant de faire des images du système (partitions et lecteurs logiques) à des fins de sauvegarde, à la manière de Norton Ghost. Ce programme permet : De créer des images des lecteurs logiques et des... www.commentcamarche.net/telecharger/telecharger-34055109-driveimage-xml
Transformations de XML avec XSLTXSLT et XSL/FO XSL (eXtensible Stylesheet Language) possède deux composantes : XSLT, eXtensible Stylesheet Transformation XSL/FO, eXtensible Stylesheet formatting le langage de transformation des données (XSLT, eXtensible Stylesheet... www.commentcamarche.net/contents/xml/xmlxslt.php3
UML - Modélisation des classes et objetsModélisation d'un objet La modélisation objet consiste à créer une représentation abstraite, sous forme d'objets, d'entités ayant une existence matérielle (arbre, personne, téléphone, ...) ou bien virtuelle (sécurité sociale, compte bancaire,... www.commentcamarche.net/contents/uml/umlclass.php3
Structure d'un document XMLQu'est-ce que le XML? La norme XML en tant que telle doit être vue comme un outil permettant de définir un langage (on dit alors qu'il s'agit d'un métalangage), permettant de créer des documents structurés à l'aide de balises. Une balise est une... www.commentcamarche.net/contents/xml/xmlstruc.php3