Publicité
+ Répondre à la discussion
Affichage des résultats 1 à 3 sur 3
  1. #1
    Membre à l'essai
    Homme Profil pro
    Développeur informatique
    Inscrit en
    août 2006
    Messages
    228
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : Côte d'Ivoire

    Informations professionnelles :
    Activité : Développeur informatique

    Informations forums :
    Inscription : août 2006
    Messages : 228
    Points : 24
    Points
    24

    Par défaut Namespace et targetnamespace?

    Bonjour monsieurs,

    Je travaille actuellement sur des fichier xsd et je suis confronter à la definition d'un namspace et targerNamespace.

    Franchement je ne comprend pas bien ces notions.
    Qu'est-ce que un targetNamespace et à quoi ça sert dans la definition d'un fichier xml/xsd?

    Comment dois-je definir un namespace ou targetNamespace dans mes xsd?
    je ne comprend pas exemple cette definition :

    Code :
    1
    2
    3
    4
    5
    6
    7
    8
     
    <?xml version="1.0" encoding="UTF-8"?>
    <schema xmlns="http://www.w3.org/2001/XMLSchema"
            elementFormDefault="qualified"
            attributeFormDefault="qualified"
     
            targetNamespace="http://nomdedomaine.com/ws/schema/oss"
            xmlns:tns="http://nomdedomaine.com/ws/schema/oss">
    Moi j'ai pas de nom de domaine et dans ce cas comment je fais.

    Merci de m'apporter des éclairsis.

  2. #2
    Modérateur
    Avatar de polymorphisme
    Homme Profil pro Grégory Roche
    Publishing
    Inscrit en
    octobre 2009
    Messages
    1 438
    Détails du profil
    Informations personnelles :
    Nom : Homme Grégory Roche
    Âge : 41
    Localisation : France, Gironde (Aquitaine)

    Informations professionnelles :
    Activité : Publishing

    Informations forums :
    Inscription : octobre 2009
    Messages : 1 438
    Points : 2 322
    Points
    2 322

    Par défaut

    Bonjour,

    expliquer cela en quelques lignes n'est pas évident !
    Je te propose ainsi de lire une partie de la FAQ du site http://xmlfr.org.
    Tu trouvera des réponses à la majorité des questions que tu te pose.
    Article : Installation de Cocoon
    Je ne réponds pas aux MP à caractère technique.

  3. #3
    Modérateur

    Inscrit en
    septembre 2004
    Messages
    9 859
    Détails du profil
    Informations forums :
    Inscription : septembre 2004
    Messages : 9 859
    Points : 16 320
    Points
    16 320

    Par défaut

    Avant de parler de XSD on va parler de XML :

    ## A propos de XML

    -- Les éléments XML sont soit dans un namespace (n'importe lequel, http://thelvin.org ou http://toto.nimportequoi.ca.existe.meme.pas ou ce qu'on veut) soit ils ne sont pas dans un namespace.

    Pour les reconnaître :
    - Un élément est dans un namespace s'il a un préfixe : <xs:schema> ou <xsl:stylesheet> ou <bidule:machin>. Il a un deux-point dans son nom, quoi. Son namespace est le namespace lié à ce préfixe, qui a eu une déclaration du genre xmlns:bidule="http://chouette.org"
    - Un élément est dans un namespace s'il a une déclaration xmlns="http://le.namespace.en.question" ou si l'un de ses ancêtres en a une. Son namespace est celui indiqué.
    - Un élément n'est pas dans un namespace s'il ne répond à aucune de ces deux conditions.

    -- Un namespace est une URI, mais cette URI n'a pas besoin d'exister, et il n'est pas nécessaire d'en posséder le nom de domaine. Il est d'ailleurs possible d'utiliser des URI sans nom de domaine, comme urn:thelvin:cestmoi:etpersonnedautre
    (Il est par contre assez mal vu d'utiliser un nom de domaine qui appartient à quelqu'un d'autre, car cela donne l'impression que ce "quelqu'un d'autre" est impliqué alors que ce n'est pas le cas. C'est mal vu, mais possible, puisque le nom de domaine du namespace n'est pas appelé ni vérifié, ce n'est qu'un nom, il sert à nommer, pas à faire.)

    ## A propos de XSD

    Cette précision étant faite, qu'est-ce qu'un XSD ?

    Un XSD sert à valider, soit des éléments qui se trouvent dans un namespace donné, soit des éléments qui ne se trouvent pas dans un namespace. C'est l'un ou l'autre.

    - Si c'est pour des éléments qui ne se trouvent pas dans un namespace
    => alors il ne faut pas utiliser targetNamespace

    - Si c'est pour valider des éléments qui se trouvent dans le namespace http://bidule.org
    => targetNamespace="http://bidule.org"

    - Si c'est pour valider des éléments qui se trouvent dans un namespaces et des éléments qui se trouvent dans un autre namespace
    => Il faut au moins un XSD pour chaque.
    Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher du poisson, il videra le lac et au bout de deux ans son village ne mangera plus jamais.
    Partagez vos connaissances, mais aussi comment s'en servir.

Liens sociaux

Règles de messages

  • Vous ne pouvez pas créer de nouvelles discussions
  • Vous ne pouvez pas envoyer des réponses
  • Vous ne pouvez pas envoyer des pièces jointes
  • Vous ne pouvez pas modifier vos messages
  •