🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: fr.comp.text.xml
3 messages
3 total messages Started by thierry Sun, 08 Nov 2009 20:48
différence entre deux schémas
#117
Author: thierry
Date: Sun, 08 Nov 2009 20:48
55 lines
2496 bytes
Bonjour,

J'aimerais comprendre la différence entre

<?xml version="1.0" encoding="iso-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			targetNamespace="http://domaine.tld"
			xmlns="http://domaine.tld">

	<xsd:element name="serveur" type="xsd:string" />
	<xsd:element name="definition">
		<xsd:complexType>
			<xsd:all>
				<xsd:element ref="serveur" minOccurs ="1" maxOccurs ="1" />
			</xsd:all>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

qui valide

<?xml version="1.0" encoding="utf-8"?>
<definition xmlns="http://domaine.tld">
  <serveur>serveur1</serveur>
</definition>

ET

<?xml version="1.0" encoding="iso-8859-1"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"
			targetNamespace="http://domaine.tld"
			xmlns="http://domaine.tld">

	<xsd:element name="definition">
		<xsd:complexType>
			<xsd:all>
				<xsd:element name="serveur" minOccurs ="1" maxOccurs ="1" />
			</xsd:all>
		</xsd:complexType>
	</xsd:element>
</xsd:schema>

qui valide

<?xml version="1.0" encoding="utf-8"?>
<definition xmlns="http://domaine.tld">
  <serveur xmlns="">anyType</serveur>
</definition>

La différence étant que dans le deuxième cas la balise serveur semble
avoir besoin d'un attribut xmlns.

Merci d'avance pour vos avis éclairés

thierry
Re: différence entre deux schémas
#118
Author: Mayeul
Date: Mon, 09 Nov 2009 08:28
25 lines
2101 bytes
Bonjour,

je suis surpris que la deuxi�me XSD valide le deuxi�me document, car si 
je ne me trompe pas :

- Les deux XSD sont �quivalentes.
- Le deuxi�me document ne devrait �tre valid� par aucune des deux.

Pour information, xmlns="" signifie grosso-modo "enlever le namespace 
par d�faut."

Dans le premier document, "definition" et "serveur" sont tous les deux 
dans le namespace "http://domaine.tld/".

Dans le second document, seul "definition" est dans le namespace 
"http://domaine.tld/". "serveur" n'a pas de namespace.

Pour cette raison, le second document ne devrait pouvoir �tre valid� 
qu'avec au moins deux XSD : une pour "http://domaine.tld/" et une sans 
namespace. De plus, le type de "definition" devrait indiquer que son 
enfant "serveur" n'a pas de namespace. Tel que, son enfant "serveur" est 
cens� �tre dans le m�me namespace.

--
Mayeul
Re: différence entre deux schémas
#119
Author: thierry
Date: Mon, 09 Nov 2009 09:32
2 lines
1507 bytes
merci pour ta réponse, je vais insister pour chercher à comprendre
dans la mesure ou j'ai toujours tendance à partager ton analyse.
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads