IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Valider XML Discussion :

[XSD] validation de caractères spéciaux


Sujet :

Valider XML

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut [XSD] validation de caractères spéciaux
    Salut,

    je suis en train d'essayer de valider avec un XSD un fichier XML qui m'est délivré par une tierce personne.

    un des champ du XML (codé en UTF-8) contient des caractères spéciaux, disons
    <MYFIELD>&lt;BONJOUR</MRZ2>
    &lt; étant donné pour le signe inférieur '<'

    Ma première question : est-ce OK d'écrire ce signe de cette façon, et non pas avec &#x003C; (3C étant le code unicode du caractère '<') ???

    Seconde question : je n'arrive pas à valider ce champs avec un pattern dans mon XSD. J'ai d'abord tenté de donner un pattern du style ([A-Z]|(&lt){8} qui a foiré, c'est là que j'ai découvert cette façon de déclarer les caractères spéciaux (&#x003C..... donc comment valider ce fichier?

    Merci d'avance

  2. #2
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Février 2003
    Messages
    49
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2003
    Messages : 49
    Points : 29
    Points
    29
    Par défaut
    Nevermind sur ce coup là, je me suis un peu enflammé, pas d'erreur en fait...

    Par contre je veux bien un avis sur le fait d'écrire &lt; ou &#x003C;

    Merci et désolé pour ce post, bientôt supprimé

  3. #3
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    &lt; fait partie des entités propres à XML (comment &gt; et &amp; par exemple)... Donc il sera toujours reconnu.

    Perso, je te conseillerais donc d'utilser &lt; qui est totalement indépendant de l'encodage etc... plutôt que &#x003C; qui dépend de l'encodage (puisque si on l'interprète en autre qu'en Unicode, ça risque de donner un autre résultat
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

  4. #4
    Expert éminent
    Avatar de GrandFather
    Inscrit en
    Mai 2004
    Messages
    4 587
    Détails du profil
    Informations personnelles :
    Âge : 54

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Points : 7 103
    Points
    7 103
    Par défaut
    Citation Envoyé par Swoög
    Perso, je te conseillerais donc d'utilser &lt; qui est totalement indépendant de l'encodage etc... plutôt que &#x003C; qui dépend de l'encodage (puisque si on l'interprète en autre qu'en Unicode, ça risque de donner un autre résultat
    Non, cela désignera toujours le même caractère <, indépendamment de l'encodage utilisé.

    L'intérêt de ces appels de caractère est justement de pouvoir insérer dans un document XML des caractères Unicode qui peuvent ne pas être compatibles avec l'encodage utilisé, encodage souvent imposé par l'éditeur ou l'outil qui a généré le document XML. Une règle fondamentale à se souvenir pour comprendre ces questions d'encodage est qu'en interne, le parseur XML ne travaille qu'en Unicode.

    Pour le reste, je suis d'accord avec toi : &lt; est préférable à &#x3C;, car beaucoup plus lisible.
    FAQ XML
    ------------
    « Le moyen le plus sûr de cacher aux autres les limites de son savoir est de ne jamais les dépasser »
    Giacomo Leopardi

  5. #5
    Expert éminent
    Avatar de Swoög
    Profil pro
    Inscrit en
    Janvier 2003
    Messages
    6 045
    Détails du profil
    Informations personnelles :
    Âge : 36
    Localisation : France

    Informations forums :
    Inscription : Janvier 2003
    Messages : 6 045
    Points : 8 339
    Points
    8 339
    Par défaut
    Erf, et dire que quand j'ai validé mon message je me suis dit "Les parsers XML sont pas sensés reconnaître toutes les entités comme de l'Unicode ?" et puis je suis pas allé vérifier... grosse erreur :\

    Merci pour la correction grand-père...
    Rédacteur "éclectique" (XML, Cours PHP, Cours JavaScript, IRC, Web...)
    Les Règles du Forum - Mon Site Web sur DVP.com (Développement Web, PHP, (X)HTML/CSS, SQL, XML, IRC)
    je ne répondrai à aucune question technique via MP, MSN ou Skype : les Forums sont là pour ça !!! Merci de me demander avant de m'ajouter à vos contacts sinon je bloque !
    pensez à la balise [ code ] (bouton #) et au tag (en bas)

Discussions similaires

  1. Caractères spéciaux dans une XSD
    Par sylvainx90 dans le forum XML/XSL et SOAP
    Réponses: 2
    Dernier message: 17/04/2013, 18h39
  2. caractères spéciaux et validation de formulaire
    Par lapin_hobbit dans le forum Struts 1
    Réponses: 0
    Dernier message: 15/06/2012, 11h18
  3. [W3C] Caractères spéciaux Javascript non valides
    Par Pierrick81 dans le forum Balisage (X)HTML et validation W3C
    Réponses: 5
    Dernier message: 20/08/2011, 11h05
  4. Réponses: 2
    Dernier message: 04/01/2010, 17h02
  5. Réponses: 6
    Dernier message: 06/08/2009, 14h18

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo