Quelle est la fonction de targetNamespace
?Quelle est la différence entre targetNamespace et xmlns: target?
<schema xmlns="http://www.w3.org/2001/SchemaXML"
targetNamespace="http://www.example.com/name"
xmlns:target="http://www.example.com/name">
Je comprends que xmlns="http://www.w3.org/2001/SchemaXML
définit l'espace de noms XML Schema.
Je comprends également que xmlns:target="http://www.example.com/name"
définit l'espace de noms pour mon propre vocabulaire si je crée mon propre schéma en utilisant le préfixe "target"; cela agit comme un proxy ou un espace réservé pour l'URI http://www.example.com/name
.
Cela semble suffisant pour définir les limites et les vocabulaires nécessaires des participants à l'espace de noms. Alors pourquoi ai-je besoin d'un attribut targetNamespace
qui duplique l'espace de noms http://www.example.com/name
?
Cet attribut définit l'espace de noms que ce schéma est destiné à cibler. Je trouve cela très confus. Le schéma "cible" un espace de noms? Donc, si je fais un schéma avec 'targetNamespace =" google.com "' je viens de créer un espace de noms sur Google? Alors quoi? Cela va-t-il gâcher les schémas d'autres personnes qui ont fait de même? De plus, quel préfixe est utilisé? – CodyBugstein
@Image c'est confus, je pense que le document XSL est en train de définir une structure XML, l'espace de nommage est simplement un moyen d'identifier cette structure de façon unique, plus tard quand un document XML le référence (en utilisant xmlns = ou xmlns: somelabel = comme indiqué ci-dessus) il a un nom qui n'est pas en conflit avec d'autres documents XSL que vous pourriez référencer, est-ce logique? – Shaun