IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

XSL/XSLT/XPATH XML Discussion :

[XSD] Rendre une sous balise obligatoire [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

  1. #1
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut [XSD] Rendre une sous balise obligatoire


    J'ai ce code xsd
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    	<xs:complexType name="animation">
    		<xs:choice maxOccurs="unbounded">
    			<xs:element name="title" type="xs:string" minOccurs="0"/>
    			<xs:element name="config" type="xs:string" minOccurs="0"/>
    			<xs:element name="image" type="image" minOccurs="0"/>
    			<xs:element name="codebase" type="xs:anyURI"  minOccurs="0"/>
    			<xs:element name="width" type="xs:integer"/>
    			<xs:element name="height" type="xs:integer"/>
    			<xs:choice>
    				<xs:element name="param" minOccurs="0" maxOccurs="4">
    					<xs:complexType>
    						<xs:all>
    							<xs:element name="name">
    								<xs:simpleType>
    									<xs:restriction base="xs:NMTOKEN">
    										<xs:enumeration value="movie"/>
    										<xs:enumeration value="quality"/>
    										<xs:enumeration value="loop"/>
    										<xs:enumeration value="wmode"/>
    									</xs:restriction>
    								</xs:simpleType>
    							</xs:element>
    							<xs:element name="value" type="xs:string"/>
    						</xs:all>
    					</xs:complexType>
    				</xs:element>
    			</xs:choice>
    		</xs:choice>
    		<xs:attribute name="type" type="xs:string"/>
    	</xs:complexType>
    Je souhaite que les balises width et height soient obligatoires dans la balise animation, comment faire ?

    J'ai rajouté ceci, mais ça ne fonctionne pas à la validation :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    			<xs:element name="width" type="xs:integer" minOccurs="1" maxOccurs="1"/>
    			<xs:element name="height" type="xs:integer" minOccurs="1" maxOccurs="1"/>

  2. #2
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Il faut forcer qu'elles soient
    - soit avant les autres
    - soit après les autres

    mais en tout cas pas n'importe où.

    Exemple :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    <xs:complexType name="animation">
      <xs:sequence>
        <xs:element name="width" type="xs:integer"/>
        <xs:element name="height" type="xs:integer"/>
        <xs:choice maxOccurs="unbounded">

  3. #3
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Décidément, tu est un chef !
    Par contre, je trouve ça très contraignant d'imposer l'ordre des balises. Il est impossible ne pas être imposé par l'ordre ?

    Voici le code fonctionnel :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    	<xs:complexType name="animation">
    	 <xs:sequence>
          <xs:element name="width" type="xs:integer"/>
          <xs:element name="height" type="xs:integer"/>
      		<xs:choice maxOccurs="unbounded">
      			<xs:element name="title" type="xs:string" minOccurs="0"/>
      			<xs:element name="config" type="xs:string" minOccurs="0"/>
      			<xs:element name="image" type="image" minOccurs="0"/>
      			<xs:element name="codebase" type="xs:anyURI"  minOccurs="0"/>
      			<xs:choice>
      				<xs:element name="param" minOccurs="0" maxOccurs="4">
      					<xs:complexType>
      						<xs:all>
      							<xs:element name="name">
      								<xs:simpleType>
      									<xs:restriction base="xs:NMTOKEN">
      										<xs:enumeration value="movie"/>
      										<xs:enumeration value="quality"/>
      										<xs:enumeration value="loop"/>
      										<xs:enumeration value="wmode"/>
      									</xs:restriction>
      								</xs:simpleType>
      							</xs:element>
      							<xs:element name="value" type="xs:string"/>
      						</xs:all>
      					</xs:complexType>
      				</xs:element>
      			</xs:choice>
      		</xs:choice>
    		</xs:sequence>
        <xs:attribute name="type" type="xs:string"/>
    	</xs:complexType>

  4. #4
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 559
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 559
    Points : 21 621
    Points
    21 621
    Par défaut
    Citation Envoyé par djibril Voir le message
    Par contre, je trouve ça très contraignant d'imposer l'ordre des balises. Il est impossible ne pas être imposé par l'ordre ?
    Je ne sais pas. Mon expérience dans le domaine est limitée, et je ne vais pas avoir le temps de faire une démonstration mathématique de cette contrainte, à partir des specs.

    Mais il me semble avoir vu plusieurs fois qu'on a du mal à mélanger contraintes et absence d'ordre.

    Attente intéressée de l'avis de gens plus habitués.

  5. #5
    Responsable Perl et Outils

    Avatar de djibril
    Homme Profil pro
    Inscrit en
    Avril 2004
    Messages
    19 820
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 820
    Points : 498 771
    Points
    498 771
    Par défaut
    Ok, merci quand même.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [CSS 3] Appliquer un style sur une sous-balise
    Par L'aigle de Carthage dans le forum Mise en page CSS
    Réponses: 6
    Dernier message: 05/09/2013, 15h41
  2. Réponses: 23
    Dernier message: 02/04/2013, 07h18
  3. [XSLT 1.0] [XSD] Accepter des sous balises
    Par djibril dans le forum XSL/XSLT/XPATH
    Réponses: 6
    Dernier message: 14/12/2011, 11h35
  4. renommer une sous balise xml
    Par sculpteur dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 04/09/2008, 14h12
  5. Rendre une page web obligatoire
    Par sorry60 dans le forum Général Conception Web
    Réponses: 6
    Dernier message: 23/06/2006, 12h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo