Topic: Interprétation d'un schéma XML

Bonjour smile

Dans  la référence RFC 3921 il est écrit (à propos des enfants de l'élément <message> dans l'espace de nom jabber:client) :

The <body/> element contains human-readable XML character data that
   specifies the textual contents of the message; this child element is
   normally included but is OPTIONAL.  The <body/> element MUST NOT
   possess any attributes, with the exception of the 'xml:lang'
   attribute.  Multiple instances of the <body/> element MAY be included
   but only if each instance possesses an 'xml:lang' attribute with a
   distinct language value.
  The <body/> element MUST NOT contain mixed
   content (as defined in Section 3.2.2 of [XML]).

Dans le schéma XML correspondant au nom de domaine jabber:client, l'élément body est défini ainsi :

<xs:element name='message'>
     <xs:complexType>
        <xs:sequence>
          <xs:choice minOccurs='0' maxOccurs='unbounded'>
            <xs:element ref='subject'/>
            <xs:element ref='body'/>
            <xs:element ref='thread'/>
          </xs:choice>
                  <!-- [...] -->
        </xs:sequence>
                  <!-- [...] -->
     </xs:complexType>
  </xs:element>


  <xs:element name='body'>
    <xs:complexType>
      <xs:simpleContent>
        <xs:extension base='nonEmptyString'>
          <xs:attribute ref='xml:lang' use='optional'/>
        </xs:extension>
      </xs:simpleContent>
    </xs:complexType>
  </xs:element>

Je ne sais pas encore très bien lire les schémas XML mais je ne vois pas où figure l'interdiction de mettre plusieurs éléments <body> ayant le même attribut 'xml:lang'.
Peut-être n'est-ce pas formalisé dans le xsd (il n'y a même pas de MUST ou MUST NOT à ce propos dans le RFC 3921)

Merci smile

Fractal wink