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] Accepter des sous balises [XSLT 1.0]


Sujet :

XSL/XSLT/XPATH XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut [XSD] Accepter des sous balises
    Voici une portion de mon xsd.
    Code xml : 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
    33
    34
    35
    36
    37
    38
    39
    40
    	<xs:complexType name="texte" mixed="true">
    		<xs:annotation>
    			<xs:documentation>Balises "inline" de mises en forme du texte</xs:documentation>
    			<xs:documentation>Le format Livres n'en permet qu'un sous-ensemble</xs:documentation>
    		</xs:annotation>
    		<xs:choice minOccurs="0" maxOccurs="unbounded">
    			<xs:element name="i" type="texte"/>
    			<xs:element name="b" type="texte"/>
    			<xs:element name="u" type="texte"/>
    			<xs:element name="sub" type="texte"/>
    			<xs:element name="sup" type="texte"/>
    			<xs:element name="inline" type="texte"/>
    			<xs:element name="br" type="vide"/>
    			<xs:element name="link" type="link"/>
    			<xs:element name="lien-forum" type="lien-forum"/>
    			<xs:element name="important" type="xs:string"/>
    			<xs:element name="renvoi" type="renvoi"/>
    			<xs:element name="noteBasPage" type="texte"/>
    			<xs:element name="citation" type="xs:string"/>
    			<xs:element name="font" type="font"/>
    			<xs:element name="image" type="image"/>
    			<xs:element name="author" type="author"/>
    			<xs:element name="list" type="liste"/>
    			<xs:element name="latex" type="latex"/>
    		</xs:choice>
    	</xs:complexType>
    	<xs:complexType name="author">
    		<xs:simpleContent>
    			<xs:extension base="vide">
    				<xs:attribute name="name" type="xs:string" use="required"/>
    			</xs:extension>
    		</xs:simpleContent>
    	</xs:complexType>
    	<xs:complexType name="font">
    		<xs:simpleContent>
    			<xs:extension base="xs:string">
    				<xs:attribute name="color" type="xs:string" use="required"/>
    			</xs:extension>
    		</xs:simpleContent>
    	</xs:complexType>

    Je souhaiterai modifier cette section
    Code xml : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    	<xs:complexType name="font">
    		<xs:simpleContent>
    			<xs:extension base="xs:string">
    				<xs:attribute name="color" type="xs:string" use="required"/>
    			</xs:extension>
    		</xs:simpleContent>
    	</xs:complexType>
    afin de pouvoir écrire dans mon XML ceci : <font color="#000045">mon texte <b>en gras</b> et <i>en italique</i>.</font>Je ne sais pas comment faire pour que les balise b, u et i soient acceptées dans une balise font.


  2. #2
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Exactement comme avec le complexType de nom "texte".
    Autrement dit, il ne faut plus chercher à étendre un simpleContent (logique puisque le contenu peut avoir des éléments.)
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  3. #3
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Là tu me parles chinois car je ne comprends rien. Ce n'est pas moi qui ai écrit ce xsd et je ne connais pas très bien ce langage.

  4. #4
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Regarde le tout premier élément que tu nous montres :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:complexType name="texte" mixed="true">
    Il définit exactement le genre de contenu dont tu as besoin : du texte entremêlé de balises. Il suffit de reprendre la même chose, en ne gardant que les balises que tu veux autoriser dedans.

    Il faudra par contre ajouter l'attribut obligatoire :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    <xs:attribute name="color" type="xs:string" use="required"/>
    juste après la fin du

    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  5. #5
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Ok, avec ceci ça fonctionne.
    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
    	<xs:complexType name="font" mixed="true">
    		<xs:choice minOccurs="0" maxOccurs="unbounded">
    			<xs:element name="i" type="texte"/>
    			<xs:element name="b" type="texte"/>
    			<xs:element name="u" type="texte"/>
    			<xs:element name="sub" type="texte"/>
    			<xs:element name="sup" type="texte"/>
    			<xs:element name="inline" type="texte"/>
    			<xs:element name="br" type="vide"/>
    			<xs:element name="link" type="link"/>
    			<xs:element name="lien-forum" type="lien-forum"/>
    			<xs:element name="important" type="xs:string"/>
    			<xs:element name="renvoi" type="renvoi"/>
    			<xs:element name="noteBasPage" type="texte"/>
    			<xs:element name="citation" type="xs:string"/>
    			<xs:element name="font" type="font"/>
    			<xs:element name="image" type="image"/>
    			<xs:element name="author" type="author"/>
    			<xs:element name="list" type="liste"/>
    			<xs:element name="latex" type="latex"/>
    		</xs:choice>
    		<xs:attribute name="color" type="xs:string" use="required"/>
    	</xs:complexType>
    Merci pour les explications !

  6. #6
    Modérateur

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

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    ... En y repensant, c'était peut-être plus simple en étendant le type texte plutôt qu'en le dupliquant :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    <xs:complexType name="font" mixed="true">
      <xs:complexContent>
        <xs:extension base="texte">
          <xs:attribute name="color" type="xs:string" use="required"/>
        </xs:extension>
      </xs:complexContent>
    </xs:complexType>
    Du coup ça autorise des éléments <font> qui en contiennent d'autres, mais bon...
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  7. #7
    Responsable Perl et Outils

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

    Informations forums :
    Inscription : Avril 2004
    Messages : 19 822
    Par défaut
    Je ne sais pas, si tu penses que c'est plus propre, je te suis

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

Discussions similaires

  1. [XML/XSL/XSD] Ordre des balises pour vérification
    Par Tomtom31 dans le forum XSL/XSLT/XPATH
    Réponses: 8
    Dernier message: 02/07/2015, 14h52
  2. [XSLT 1.0] [XSD] Rendre une sous balise obligatoire
    Par djibril dans le forum XSL/XSLT/XPATH
    Réponses: 4
    Dernier message: 14/12/2011, 15h33
  3. [DOM] Récupérer la liste des sous arbres d'une balise
    Par domiq44 dans le forum Format d'échange (XML, JSON...)
    Réponses: 6
    Dernier message: 03/02/2010, 16h46
  4. [quick report]bandes des sous détail et champs vides
    Par Zatoobux dans le forum Bases de données
    Réponses: 2
    Dernier message: 04/06/2004, 16h01
  5. Réponses: 9
    Dernier message: 14/10/2003, 15h35

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