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

XML/XSL et SOAP Discussion :

Impossible de trouver la déclaration de " boutique "


Sujet :

XML/XSL et SOAP

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Invité
    Invité(e)
    Par défaut Impossible de trouver la déclaration de " boutique "
    Bonjour,

    Je débute sur XML. Je devait faire un fichier TP8_EX6.xsl permettant de faire une presentation de mon fichier TP7_EX2.xml. Et, on m'a dis de valider mon fichier avec http://www.validome.org/xml/ . C'est ce que j'ai fait. Mais ce validateur, me trouve l'erreur suivant :

    Line File name: TP7_EX2.xml
    5 Column: 13
    Error: Can not find declaration of element 'boutique'.
    Error Position: <boutique>



    Voici le fichier " TP8_EX6.xsl " :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
     
    <?xml version="1.0" encoding="UTF-8" ?>
    <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    		<xsl:template match="/">
    			<html><xsl:apply-templates/></html>
    		</xsl:template>
    	<xsl:template match="boutique">
    		<head></head>
    		<body>
    			<h2>Boutique informatique de Yvan MARTY</h2>
    			<table border="2">
    				<xsl:for-each select="element">
    					<tr>
    						<td><xsl:value-of select="element"/></td>
    						<td><xsl:value-of select="constructeur"/></td>
    						<td><xsl:value-of select="modele"/></td>
    						<td><xsl:value-of select="debit_norme"/></td>
    						<td><xsl:value-of select="annee"/></td>
    						<td><xsl:value-of select="prix"/></td>
    					</tr>
    				</xsl:for-each>
    			</table>
    		</body>
    	</xsl:template>
    </xsl:stylesheet>

    Et voici le fichier " TP7_EX2.xml " :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    <?xml version="1.0" encoding="UTF-8" standalone="yes" ?>
    <?xml-stylesheet version="1.0" type="text/xsl" href="TP8_EX6.xsl" ?>
     
     
    	<boutique>
     
     
    		<element type="carte_reseau">
    			<constructeur>Intel</constructeur>
    			<modele>PRO/1000 CT Desktop Adapter Single Port</modele>
    			<debit_norme>10/100/1000 Mbps</debit_norme>
    			<annee></annee>
    			<prix>34.90€</prix>
    		</element>
     
     
    		<element type="carte_reseau">
    			<constructeur>D-Link</constructeur>
    			<modele>DGE-528T</modele>
    			<debit_norme>10/100/1000 Mbps</debit_norme>
    			<annee></annee>
    			<prix>10.90€</prix>
    		</element>
     
     
    		<element type="carte_sansfil">
    			<constructeur>Intel</constructeur>
    			<modele>Centrino Advanced N6205</modele>
    			<debit_norme>Wi-Fi A (IEEE 802.11a), Wi-Fi G (IEEE 802.11g), Wi-Fi N 300 Mbps (IEEE 802.11n)</debit_norme>
    			<annee></annee>
    			<prix>16.90€</prix>
    		</element>
     
     
    		<element type="carte_sansfil">
    			<constructeur>Intel</constructeur>
    			<modele>Dual Band Wireless-N 7260</modele>
    			<debit_norme>Wi-Fi A (IEEE 802.11a), Wi-Fi B (IEEE 802.11b), Wi-Fi G (IEEE 802.11g), Wi-Fi N 300 Mbps (IEEE 802.11n)</debit_norme>
    			<annee></annee>
    			<prix>18.90€</prix>
    		</element>
     
     
    		<element type="routeur">
    			<constructeur>Netgear</constructeur>
    			<modele>JNR1010</modele>
    			<debit_norme>Wi-Fi B (IEEE 802.11b), Wi-Fi G (IEEE 802.11g), Wi-Fi N 150 Mbps (IEEE 802.11n)</debit_norme>
    			<annee></annee>
    			<prix>18.90€</prix>
    		</element>
     
     
    		<element type="routeur">
    			<constructeur>Linksys</constructeur>
    			<modele>WRT54GL</modele>
    			<debit_norme>10/100 Mbps, Wi-Fi B (IEEE 802.11b), Wi-Fi G (IEEE 802.11g)</debit_norme>
    			<annee></annee>
    			<prix>51.95€</prix>
    		</element>
     
     
    		<element type="serv_impression">	
    			<constructeur>Lantronix</constructeur>
    			<modele>xPrintServer Home Edition</modele>
    			<debit_norme></debit_norme>
    			<annee></annee>
    			<prix>119.95€</prix>
    		</element>
     
     
    		<element type="serv_impression">	
    			<constructeur>TP-Link</constructeur>
    			<modele>PS110U Serveur d'impression USB 2.0</modele>
    			<debit_norme></debit_norme>
    			<annee></annee>
    			<prix>38.80€</prix>
    		</element>
     
     
    		<element type="switch">
    			<constructeur>Cisco</constructeur>
    			<modele>SG102-24-EU</modele>
    			<debit_norme>IEEE 802.1p, IEEE 802.3, IEEE 802.3ab, IEEE 802.3az, IEEE 802.3u, IEEE 802.3x, IEEE 802.3z -_- 10/100/1000Mbps</debit_norme>
    			<annee></annee>
    			<prix>162.89€</prix>
    		</element>
     
     
    	</boutique>
    Dernière modification par Invité ; 11/02/2015 à 18h17.

  2. #2
    Invité
    Invité(e)
    Par défaut
    up
    Dernière modification par thelvin ; 13/02/2015 à 01h36.

  3. #3
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Yvan1234 Voir le message
    Et, on m'a dis de valider mon fichier avec http://www.validome.org/xml/ .
    C'est plutôt curieux.

    En XML il y a grosso-merdo deux niveaux de "validation".

    Niveau 1 : La syntaxe. Est-ce que les balises ouvertes sont bien fermées, dans le bon ordre, est-ce que les attributs sont bien entourés de ' ou de ", ce genre de choses.
    Ça s'appelle vérifier que le document est bien formé, en anglais well-formed.
    N'importe quel programme utilisant du XML est capable de vérifier ça à tout moment.
    Par exemple, sur le site que tu as montré, en cochant la case "Well-Formedness only" il ne vérifiera que ce niveau et ne cherchera pas plus loin. Dans ce cas, il trouve que ton document est bien formé, c'est parfait.

    Niveau 2 : La grammaire. Vérifier qu'on n'utilise que des balises connues, et qu'elles contiennent bien les balises et attributs qu'elles doivent contenir, et pas d'autres.
    Bien sûr on ne peut vérifier ce niveau que si on a déjà vérifié que le document est bien formé.
    C'est ce niveau qu'on appelle "valider" un document XML.

    Or bien sûr, un validateur ne peut pas deviner quelles sont les balises qu'un document a le droit de contenir, ni qu'est-ce que ces balises sont censées contenir elles aussi. Il faut d'une manière ou d'une autre indiquer au validateur qu'est-ce qui est valide et qu'est-ce qui ne l'est pas, sinon il est impossible de valider quoi que ce soit.
    Pour ça on doit lui indiquer par exemple quelle DTD ou quel XSD le document utilise.

    ... Et là j'imagine que je te parle chinois, tu as jamais entendu parler de DTD ou de XSD et c'est bien normal, puisque tu débutes en XML.
    L'erreur que te dit le validateur, c'est en gros "j'ai pas entendu parler de la balise <boutique>, je ne peux pas la valider, donc je ne peux rien valider." Il ne peut rien faire sans une DTD ou XSD.
    ... Et en principe la personne qui t'a suggéré d'utiliser ce site aurait dû être au courant -_-°.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  4. #4
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par thelvin Voir le message
    C'est plutôt curieux.

    En XML il y a grosso-merdo deux niveaux de "validation".

    Niveau 1 : La syntaxe. Est-ce que les balises ouvertes sont bien fermées, dans le bon ordre, est-ce que les attributs sont bien entourés de ' ou de ", ce genre de choses.
    Ça s'appelle vérifier que le document est bien formé, en anglais well-formed.
    N'importe quel programme utilisant du XML est capable de vérifier ça à tout moment.
    Par exemple, sur le site que tu as montré, en cochant la case "Well-Formedness only" il ne vérifiera que ce niveau et ne cherchera pas plus loin. Dans ce cas, il trouve que ton document est bien formé, c'est parfait.

    Niveau 2 : La grammaire. Vérifier qu'on n'utilise que des balises connues, et qu'elles contiennent bien les balises et attributs qu'elles doivent contenir, et pas d'autres.
    Bien sûr on ne peut vérifier ce niveau que si on a déjà vérifié que le document est bien formé.
    C'est ce niveau qu'on appelle "valider" un document XML.

    Or bien sûr, un validateur ne peut pas deviner quelles sont les balises qu'un document a le droit de contenir, ni qu'est-ce que ces balises sont censées contenir elles aussi. Il faut d'une manière ou d'une autre indiquer au validateur qu'est-ce qui est valide et qu'est-ce qui ne l'est pas, sinon il est impossible de valider quoi que ce soit.
    Pour ça on doit lui indiquer par exemple quelle DTD ou quel XSD le document utilise.

    ... Et là j'imagine que je te parle chinois, tu as jamais entendu parler de DTD ou de XSD et c'est bien normal, puisque tu débutes en XML.
    L'erreur que te dit le validateur, c'est en gros "j'ai pas entendu parler de la balise <boutique>, je ne peux pas la valider, donc je ne peux rien valider." Il ne peut rien faire sans une DTD ou XSD.
    ... Et en principe la personne qui t'a suggéré d'utiliser ce site aurait dû être au courant -_-°.
    Merci pour ta longue et très correcte explication. J'ai bien vu DTD externe / interne en cours, ensuite je connais XSL aussi. Effectivement avec "well-formed", tout fonctionne parfaitement.


    Saurais-tu comment comment " appeler " un fichier .css dans un fichier xml? (PS : J'utilise les même fichiers que j'ai posté au 1er post).

  5. #5
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Hello;

    Citation Envoyé par Yvan1234 Voir le message
    J'ai bien vu DTD externe / interne en cours, ensuite je connais XSL aussi.
    Dans ce cas, l'erreur indiquée par le validateur, est que ton document n'indique pas de DTD et donc qu'il est impossible de valider. Tu dois mettre une DTD.

    Citation Envoyé par Yvan1234 Voir le message
    Saurais-tu comment comment " appeler " un fichier .css dans un fichier xml? (PS : J'utilise les même fichiers que j'ai posté au 1er post).
    Tout pareil que quand tu fais du HTML normalement. <link> comme d'hab dans le <head> du <html> comme d'hab.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

  6. #6
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par thelvin Voir le message
    Hello;



    Dans ce cas, l'erreur indiquée par le validateur, est que ton document n'indique pas de DTD et donc qu'il est impossible de valider. Tu dois mettre une DTD.



    Tout pareil que quand tu fais du HTML normalement. <link> comme d'hab dans le <head> du <html> comme d'hab.
    Je dois inclure qu'elle DTD?

    J'ai fais le lien. Mais comment faire le fichier CSS pour cette ligne de commande : " <element type="routeur">?
    J'ai fais " element [type="routeur"] ". Mais cela fonctionne pas. Le XLS détecte pas le CSS

  7. #7
    Modérateur

    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    12 582
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Septembre 2004
    Messages : 12 582
    Par défaut
    Citation Envoyé par Yvan1234 Voir le message
    Je dois inclure qu'elle DTD?
    Celle que tu as créée toi-même pour valider ton fichier. Tu dois forcément en faire une, puisqu'on te demande d'utiliser un validateur.

    Citation Envoyé par Yvan1234 Voir le message
    J'ai fais le lien. Mais comment faire le fichier CSS pour cette ligne de commande : " <element type="routeur">?
    C'est impossible. Après passage par XSLT, cette ligne n'existera plus, il n'y aura plus que le HTML créé à l'aide de XSLT. Par conséquent, il n'y aura plus les lignes XML d'origine et il n'y aura rien à appliquer sur elles.
    Le CSS doit s'appliquer uniquement sur les éléments HTML que tu crées avec XSLT. Il n'est pas au courant que tout cela a été produit à partir d'un document qui n'est pas HTML.
    N'oubliez pas de consulter les FAQ Java et les cours et tutoriels Java

Discussions similaires

  1. Réponses: 5
    Dernier message: 05/06/2008, 22h43
  2. [Plugin][MYECLIPSE]Impossible de trouver une JVM
    Par tolsam dans le forum Eclipse Java
    Réponses: 3
    Dernier message: 08/08/2004, 20h46
  3. Impossible de trouver la procédure stockée
    Par engi dans le forum MS SQL Server
    Réponses: 11
    Dernier message: 12/05/2004, 16h28

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