URI valide ?

URI valide ? - XML/XSL - Programmation

Marsh Posté le 19-09-2003 à 15:49:26    

J'ai un fichier XML remis par un client.
il commence par :
 
<RUN  
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
  xsi:noNamespaceSchemaLocation='.\..\XML Schema\TEST.RUN.xsd' nb="9399" remarks="a very small run"
series="67">  
 
XMLSpy le trouve valide.
 
Par contre, avec Morphon, une erreur est détectée :  
 
Error at file
file://localhost/C:/XML%20Data/RUN-9399.xml[line
2,column 172]: cvc-datatype-valid.1.2.1: '.\..\XML Schema\TEST.RUN.xsd' is not a valid 'anyURI' value.  
 
Pour vous, cette URI est valable ou pas ?  

Reply

Marsh Posté le 19-09-2003 à 15:49:26   

Reply

Marsh Posté le 19-09-2003 à 15:51:57    

Et si tu utilise des / au lieu de \


---------------
brisez les rêves des gens, il en restera toujours quelque chose...  -- laissez moi troller sur discu !
Reply

Marsh Posté le 20-09-2003 à 01:47:56    

Le backslash est pas particulierement valide pour une URI ou une URL...
Certains systemes a la M$ l'acceptent, mais ca en fait pas qque chose de valide.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Marsh Posté le 20-09-2003 à 09:32:29    

J'ai fait un test avec / dans le fichier mais ça ne change rien :
XmlSpy le considère valide et Morphon non valide ...

Reply

Marsh Posté le 20-09-2003 à 10:13:59    

Ce que ces outils considerent comme valide c'est pas necessairement une reference.
Vaudrait mieux essayer avec un validateur (il y a ca au w3c, non?) ou bien lire la RFC 2396.
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Marsh Posté le 20-09-2003 à 10:24:53    

candide2 a écrit :

J'ai fait un test avec / dans le fichier mais ça ne change rien :
XmlSpy le considère valide et Morphon non valide ...


Et avec un /, et aussi en escapant le blanc dans ton path:
<RUN  
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"  
 xsi:noNamespaceSchemaLocation="./../XML%20Schema/TEST.RUN.xsd" nb="9399" remarks="a very small run"  
series="67">  
 
Parce que "./../XML%20Schema/TEST.RUN.xsd" c'est une URI valide.  
 
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Marsh Posté le 20-09-2003 à 22:47:21    

Bien vu,
je récapitule
 
XMLSpy  :
Il valide avec un espace ("XML Schema" ) et des / ou des \
Il ne valide pas avec un Escaped Encoding %20
 
Morphon :
Il ne valide pas avec des \ ou avec un espace
Il valide avec un %20
 
dans http://www.ietf.org/rfc/rfc2396.txt,
je crois avoir compris que l'espace doit être remplacé par un %20 et qu'il faut utiliser des /
 
XMLSpy ne suivrait pas RFC2396 pour les %20 ?
 
Moralité : un URI propre utilise des / et on evite les espaces

Reply

Marsh Posté le 21-09-2003 à 09:17:32    

Il y a d'ailleurs pas que les espaces a encoder avec des %xx dans les URIs.
Grosso modo, il y a:
 
control     = <US-ASCII coded characters 00-1F and 7F hexadecimal>
space       = <US-ASCII coded character 20 hexadecimal>
delims      = "<" | ">" | "#" | "%" | <">
unwise      = "{" | "}" | "|" | "\" | "^" | "[" | "]" | "`"
 
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Marsh Posté le 21-09-2003 à 09:20:51    

> XMLSpy ne suivrait pas RFC2396 pour les %20
 
Comme d'hab, les implementeurs implementent la RFC, les clients neu-neux ralent que ca marche pas (parce qu'ils coupent-collent des paths a partir de Windows dans leurs URIs), et le management demande aux programmeurs de "corriger leurs bugs" qui font raler les clients...
A+,


---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Marsh Posté le 21-09-2003 à 09:47:24    

:lol:
Je vais contacter mes clients pour voir s'il acceptent de modifier leurs fichiers (avec l'argument du RFC2396)
De plus dans leur noms de fichier, il y a plusieurs "."
du style "TEST.Schema.xsd" et comme je travaille sous Win et sous VMS, le nom est tranformé en TEST^Schema.xsd sous VMS !!!
 
Je vais avoir besoin de diplomatie.:D

Reply

Marsh Posté le 21-09-2003 à 09:47:24   

Reply

Marsh Posté le 21-09-2003 à 10:10:55    

candide2 a écrit :

:lol:
Je vais contacter mes clients pour voir s'il acceptent de modifier leurs fichiers (avec l'argument du RFC2396)
De plus dans leur noms de fichier, il y a plusieurs "."
du style "TEST.Schema.xsd" et comme je travaille sous Win et sous VMS, le nom est tranformé en TEST^Schema.xsd sous VMS !!!
 
Je vais avoir besoin de diplomatie.:D


Note que ce n'est pas le nom du fichier qui est en cause, mais le fait que celui qui crée les fichiers XML n'a pas fait son boulot (passer ses fichiers au validateur) pour verifier que ce qu'il genere est du XML correct, et donc pond des trucs faux.
 
En particulier, un nom de fichier systeme n'a aucune raison d'etre une URI valide.
Dans le cas de VMS, un fichier  
DISK$USER:[MY.NOTES]NOTE123456.TXT
donnerait une URI
file:/disk$user/my/notes/note12345.txt
(pour tes plusieurs . dans un nom, les extensions multiples sont pas un pb a priori dans une URI)
(en plus, cet exemple est filé partout, car dans la RFC des URLs; ca se trouve au premier essai "URI VMS RFC" avec google. Comme quoi le type qui a pondu le code qui genere ces fichiers XML faux a vraiment pas fait son boulot).
A+,


Message édité par gilou le 21-09-2003 à 10:14:19

---------------
There's more than what can be linked! --  Le capitaine qui ne veut pas obéir à la carte finira par obéir aux récifs. -- No jab ? No job ! -- (╯°□°)╯︵ ┻━┻
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed