2009-04-19 7 views
3

Je me suis toujours demandé comment un analyseur XML gère la vérification d'un espace de noms URI. est-il basé sur une chaîne, ou basé sur l'URI? autrement dit, c'est l'URI standard pour SVGest la vérification d'espace de noms dans la chaîne xml ou URI basé?

xmlns="http://www.w3.org/2000/svg" 

Supposons que je vous écris à la place

xmlns="http://www.w3.org/2000/../2000/svg" 

ou

xmlns="http://www.w3.org/2000/svg/" 

ou même

xmlns="http://www.w3.org:8000/2000/svg" 

-ce que ces cas être reconnu comme namespaces svg (URI basé) ou non (basé sur une chaîne)?

Merci

Modifier: le fait que vous pouvez utiliser URN (comme un UUID) me fait sentir comme il est cordage, parce que vous ne pouvez pas appliquer l'URL correcte/considérations URI à un URI non comme URL . Mais peut-être que dans ce cas, cela fonctionnera comme une chaîne?

Modifier: Comme le souligne Tormod, il est fait avec une comparaison de chaînes. Cela m'incite à me demander s'il existe des recommandations pour définir les URI (comme: pas de slash à la fin, tout en minuscules, etc ...). Ou est-ce juste un free-for-all?

Répondre

6

Ils sont basés sur des chaînes. Tous vos exemples d'URI se résolvent en différents espaces de noms.

http://www.w3.org/TR/REC-xml-names/#NSNameComparison

références URI identifiant les espaces de noms sont comparés pour déterminer si un nom appartient à un espace de noms donné, et si deux appartiennent au même nom namespace. [Définition: Les deux URI sont traités comme des chaînes, et ils sont identiques si et seulement si les chaînes sont identiques, c'est-à-dire s'il s'agit de la même séquence de caractères. ] La comparaison est sensible à la casse, et aucun% -escaping n'est fait ou annulé.

Questions connexes