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 :

[DTD] Explicitations !


Sujet :

Valider XML

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut [DTD] Explicitations !
    Bonjour à tous,

    je bosse le XML depuis quelques mois déjà ... mais j'avoue ... j'ai arrêté pendant plusieurs semaines !

    Je suis désormais en cours en allemagne et le prof nous oblige à maîtriser les DTD sur le bout des doigts ! Je préfère amplement les XML-Schema ! Bref bref ...

    Voici ma DTD :
    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
    <!ELEMENT Kartei (Bestellung+, Buch+, Kund+, Autor)>
    <!ELEMENT Bestellung (Kund, Ware)>
    <!ATTLIST Bestellung
    	Bestelldatum CDATA #REQUIRED
    	BestellNr ID #REQUIRED
    >
    <!ELEMENT Kund (Lieferungsadresse)>
    <!ATTLIST Kund
    	KundNr IDREF #REQUIRED
    >
    <!ELEMENT Lieferungsadresse (Name, Strasse, Ort, PLZ)>
    <!ELEMENT Name (NMTOKENS)>
    <!ELEMENT Strasse (NMTOKENS)>
    <!ELEMENT Ort (NMTOKENS)>
    <!ELEMENT PLZ (NMTOKENS)>
    <!ELEMENT Ware (Buch+)>
    <!ELEMENT Buch (Titel, Autor, Anzahl, PreisEUR)>
    <!ATTLIST Buch
    	BuchNr IDREF #REQUIRED
    >
    <!ELEMENT Titel (NMTOKENS)>
    <!ELEMENT Autor (NMTOKENS)>
    <!ELEMENT Anzahl (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
    <!ELEMENT Buch (Titel, Autor, Ausgabenjahr, Bestand, PreisEUR)>
    <!ATTLIST Buch
    	BuchNr ID #REQUIRED
    	Auftragsnummern IDREFS #REQUIRED
    >
    <!ELEMENT Titel (NMTOKENS)>
    <!ELEMENT Autor (NMTOKENS)>
    <!ELEMENT Ausgabenjahr (NMTOKEN)>
    <!ELEMENT Bestand (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
    <!ELEMENT Kund (Name, Einschreibungsjahr, Adresse+)>
    <!ATTLIST Kund
    	KundNr ID #REQUIRED
    	Auftragsnummern IDREFS #REQUIRED
    >
    <!ELEMENT Name (NMTOKENS)>
    <!ATTLIST Name
    	Geburtsdatum CDATA #IMPLIED
    >
    <!ELEMENT Einschreibungsjahr (NMTOKEN)>
    <!ELEMENT Adresse (Strasse, Ort, PLZ)>
    <!ELEMENT Strasse (NMTOKENS)>
    <!ELEMENT Ort (NMTOKENS)>
    <!ELEMENT PLZ (NMTOKENS)>
    <!ENTITY writer "Gom">
    <!ENTITY copyright "Copyright HTW Dresden 2006">
    Deux choses :
    Pourquoi dans une DTD Altova XMLSpy me déconseille d'avoir deux éléments de même nom ? Alors que en XML-Schema ... no problem !
    Quelle est le réel intérêt d'utiliser CDATA et #PCDATA ? J'ai beau faire des tests en mettant n'importe quoi dans des éléments possédant soit l'un ou l'autre type et à chaque fois ça passe ? Je pensais que ça permettait par exemple de mettre des caractères "réservés" (< & > ...) et en fait dans les deux cas NON :


    Merci d'avance !

    Gôm

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut Re: [DTD] Explicitations !
    Salut,

    Citation Envoyé par ghohm
    Pourquoi dans une DTD Altova XMLSpy me déconseille d'avoir deux éléments de même nom ? Alors que en XML-Schema ... no problem !
    C'est une limitation inhérente aux DTD, qui rend les WXS plus attractifs.
    Citation Envoyé par ghohm
    Quelle est le réel intérêt d'utiliser CDATA et #PCDATA ? J'ai beau faire des tests en mettant n'importe quoi dans des éléments possédant soit l'un ou l'autre type et à chaque fois ça passe ? Je pensais que ça permettait par exemple de mettre des caractères "réservés" (< & > ...) et en fait dans les deux cas NON :
    Euh, en principe #PCDATA et CDATA ne sont pas interchangeables dans une DTD : le premier définit le contenu textuel d'un élément, le deuxième celui d'un attribut...

    Tu ne confondrais pas avec <![CDATA[...]]>, par hasard ?
    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

  3. #3
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut Re: [DTD] Explicitations !
    Citation Envoyé par GrandFather
    Euh, en principe #PCDATA et CDATA ne sont pas interchangeables dans une DTD : le premier définit le contenu textuel d'un élément, le deuxième celui d'un attribut...

    Tu ne confondrais pas avec <![CDATA[...]]>, par hasard ?
    Non je ne confonds pas avec cela puisque je ne connais pas non plus cela ! Par contre ... pourquoi deux types de données différents juste pour spécifier un contenu textuel d'un élément et d'un attribut dans l'autre cas : Au final tous les deux contiendront bien des contenus textuels :

  4. #4
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Voilà une nouvelle question !

    Pourquoi ie version 6.0.2800.1106 ne tient pas compte des mes ID, IDREF et IDREFS ? Je peux écrire n'importe quoi dans mon xml, il ne me génère pas d'erreurS ?

    Et que dire de Firefox version 1.5.0.1, qui ne comprends pas :
    XML-Verarbeitungsfehler: Undefinierte Entität
    Adresse: file:///F:/Internet%20Technologien/Uebung_3_OK/xml_2.xml
    Zeile Nr. 58, Spalte 9: <Autor>&writer; - &copyright;</Autor>
    ---------------^
    XML volontairement faux :
    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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!-- External DTD -->
    <!DOCTYPE Kartei SYSTEM "Bestell_Kunde_Buch.dtd">
     
    <!--
    <!DOCTYPE Kartei [
    	...
    ]>
    -->
    <Kartei>
    	<Bestellteil>
    		<Bestellung Bestelldatum="07.04.2006" BestellNr="Be-00123">
    			<Kund KundNr="K-0789111">
    				<Lieferungsadresse>
    					<Name>MARTIN Tom</Name>
    					<Strasse>St. Petersburger Str. 25</Strasse>
    					<Ort>Dresden</Ort>
    					<PLZ>01069</PLZ>
    				</Lieferungsadresse>
    			</Kund>
    			<Ware BuecherNr="Bu-00456222 Bu-00457222">
    				<Buch BuchNr="Bu-00456111">
    					<Titel>Deutschland</Titel>
    					<Autor>Grossmann</Autor>
    					<Anzahl>6</Anzahl>
    					<PreisEUR>31,00</PreisEUR>
    				</Buch>
    				<Buch BuchNr="Bu-00457111">
    					<Titel>Frankreich</Titel>
    					<Autor>Guillaume</Autor>
    					<Anzahl>3</Anzahl>
    					<PreisEUR>49,00</PreisEUR>
    				</Buch>
    			</Ware>
    		</Bestellung>
    	</Bestellteil>
    	<Buecherteil>
    		<Buch BuchNr="Bu-00456">
    			<Titel>Deutschland</Titel>
    			<Autor>Grossmann</Autor>
    			<Ausgabenjahr>2001</Ausgabenjahr>
    			<Bestand>59</Bestand>
    			<PreisEUR>31,00</PreisEUR>
    		</Buch>
    		<Buch BuchNr="Bu-00457">
    			<Titel>Frankreich</Titel>
    			<Autor>Huchet</Autor>
    			<Ausgabenjahr>2006</Ausgabenjahr>
    			<Bestand>23</Bestand>
    			<PreisEUR>49,00</PreisEUR>
    		</Buch>
    	</Buecherteil>
    	<Kundenteil>
    		<Kund KundNr="K-0789">
    			<Name Geburtsdatum="13.06.1979">MARTIN Tom</Name>
    			<Einschreibungsjahr>2005</Einschreibungsjahr>
    			<Adresse>
    				<Strasse>St. Petersburger Str. 25</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    			<Adresse>
    				<Strasse>Budapester Str. 16</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    		</Kund>
    	</Kundenteil>
    	<Autor>&writer; - &copyright;</Autor>
    </Kartei>
    DTD correct, je pense :
    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
    <!ELEMENT Kartei (Bestellteil, Buecherteil, Kundenteil, Autor)>
     
    <!ELEMENT Bestellteil (Bestellung+)>
     
    <!ELEMENT Bestellung (Kund, Ware)>
    <!ATTLIST Bestellung
       Bestelldatum CDATA #REQUIRED
       BestellNr ID #REQUIRED
    >
    <!ELEMENT Kund (Lieferungsadresse)>
    <!ATTLIST Kund
       KundNr IDREF #REQUIRED
    >
    <!ELEMENT Lieferungsadresse (Name, Strasse, Ort, PLZ)>
    <!ELEMENT Name (NMTOKENS)>
    <!ELEMENT Strasse (NMTOKENS)>
    <!ELEMENT Ort (NMTOKENS)>
    <!ELEMENT PLZ (NMTOKENS)>
    <!ELEMENT Ware (Buch+)>
    <!ATTLIST Ware
       BuecherNr IDREFS #REQUIRED
    >
    <!ELEMENT Buch (Titel, Autor, Anzahl, PreisEUR)>
    <!ATTLIST Buch
       BuchNr IDREF #REQUIRED
    >
    <!ELEMENT Titel (NMTOKENS)>
    <!ELEMENT Autor (NMTOKENS)>
    <!ELEMENT Anzahl (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
     
    <!ELEMENT Buecherteil (Buch+)>
     
    <!ELEMENT Buch (Titel, Autor, Ausgabenjahr, Bestand, PreisEUR)>
    <!ATTLIST Buch
       BuchNr ID #REQUIRED
    >
    <!ELEMENT Titel (NMTOKENS)>
    <!ELEMENT Autor (NMTOKENS)>
    <!ELEMENT Ausgabenjahr (NMTOKEN)>
    <!ELEMENT Bestand (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
     
    <!ELEMENT Kundenteil (Kund+)>
     
    <!ELEMENT Kund (Name, Einschreibungsjahr, Adresse+)>
    <!ATTLIST Kund
       KundNr ID #REQUIRED
    >
    <!ELEMENT Name (NMTOKENS)>
    <!ATTLIST Name
       Geburtsdatum CDATA #IMPLIED
    >
    <!ELEMENT Einschreibungsjahr (NMTOKEN)>
    <!ELEMENT Adresse (Strasse, Ort, PLZ)>
    <!ELEMENT Strasse (NMTOKENS)>
    <!ELEMENT Ort (NMTOKENS)>
    <!ELEMENT PLZ (NMTOKENS)>
     
    <!ENTITY writer "Guillaume">
    <!ENTITY copyright "Copyright HTW Dresden 2006">

    Merci d'avance de votre aide.

    Gôm

    PS : Désolé pour l'exemple en langue allemande, mais je ne pense pas que cela gêne la compréhension ... ni le bon fonctionnement de mon code !

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

    Informations forums :
    Inscription : Mai 2004
    Messages : 4 587
    Par défaut
    Ta DTD est en effet correcte (du moins il me semble), mais IE n'active pas la validation par DTD lorsqu'il affiche du XML. Tout au plus se charge-t-il de la résolution des entités. La validation ne peut être déclenchée que par code.

    Pour Firefox, désolé je ne peux pas t'aider...
    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

  6. #6
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Merci beaucoup.

    Je n'ai plus qu'à attendre d'être rentré chez moi pour savoir si ma DTD est correcte ou pas (Altova XMLSpy)

    A moins qu'une âme charitable ...

    Gôm

  7. #7
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Bon bah j'ai eu le temps de rentrer chez moi ... plus la peine de vérifier mon code !

    Je le poste ici, je pense que ce n'est pas un trop mauvais exemple (en allemand ... sic de ce que l'on peut faire avec une DTD.

    La DTD :
    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
    <!ELEMENT Kartei (Bestellteil, Buecherteil, Kundenteil, Autor)>
     
    <!ELEMENT Bestellteil (Bestellung+)>
     
    <!ELEMENT Bestellung (Kund, Ware)>
    <!ATTLIST Bestellung
       Bestelldatum CDATA #REQUIRED
       BestellNr ID #REQUIRED
    >
    <!ELEMENT Kund (Lieferungsadresse)>
    <!ATTLIST Kund
       KundNr IDREF #REQUIRED
    >
    <!ELEMENT Lieferungsadresse (Name, Strasse, Ort, PLZ)>
    <!ELEMENT Name (#PCDATA)>
    <!ELEMENT Strasse (#PCDATA)>
    <!ELEMENT Ort (#PCDATA)>
    <!ELEMENT PLZ (#PCDATA)>
    <!ELEMENT Ware (Buch+)>
    <!ATTLIST Ware
       BuecherNr IDREFS #REQUIRED
    >
    <!ELEMENT Buch (Titel, Autor, Anzahl, PreisEUR)>
    <!ATTLIST Buch
       BuchNr IDREF #REQUIRED
    >
    <!ELEMENT Titel (#PCDATA)>
    <!ELEMENT Autor (#PCDATA)>
    <!ELEMENT Anzahl (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
     
    <!ELEMENT Buecherteil (Buch_+)>
     
    <!ELEMENT Buch_ (Titel, Autor, Ausgabenjahr, Bestand, PreisEUR)>
    <!ATTLIST Buch_
       BuchNr ID #REQUIRED
    >
    <!ELEMENT Titel_ (#PCDATA)>
    <!ELEMENT Autor_ (#PCDATA)>
    <!ELEMENT Ausgabenjahr (#PCDATA)>
    <!ELEMENT Bestand (#PCDATA)>
    <!ELEMENT PreisEUR_ (#PCDATA)>
     
    <!ELEMENT Kundenteil (Kund_+)>
     
    <!ELEMENT Kund_ (Name_, Einschreibungsjahr, Adresse+)>
    <!ATTLIST Kund_
       KundNr ID #REQUIRED
    >
    <!ELEMENT Name_ (#PCDATA)>
    <!ATTLIST Name_
       Geburtsdatum CDATA #IMPLIED
    >
    <!ELEMENT Einschreibungsjahr (#PCDATA)>
    <!ELEMENT Adresse (Strasse, Ort, PLZ)>
    <!ELEMENT Strasse_ (#PCDATA)>
    <!ELEMENT Ort_ (#PCDATA)>
    <!ELEMENT PLZ_ (#PCDATA)>
     
    <!ENTITY writer "Guillaume">
    <!ENTITY copyright "Copyright HTW Dresden 2006">
    Le 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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!-- External DTD -->
    <!DOCTYPE Kartei SYSTEM "Bestell_Kunde_Buch.dtd">
    <Kartei>
    	<Bestellteil>
    		<Bestellung Bestelldatum="07.04.2006" BestellNr="Be-00123">
    			<Kund KundNr="K-0789">
    				<Lieferungsadresse>
    					<Name>MARTIN Tom</Name>
    					<Strasse>St. Petersburger Str. 25</Strasse>
    					<Ort>Dresden</Ort>
    					<PLZ>01069</PLZ>
    				</Lieferungsadresse>
    			</Kund>
    			<Ware BuecherNr="Bu-00456 Bu-00457">
    				<Buch BuchNr="Bu-00456">
    					<Titel>Deutschland</Titel>
    					<Autor>Grossmann</Autor>
    					<Anzahl>6</Anzahl>
    					<PreisEUR>31,00</PreisEUR>
    				</Buch>
    				<Buch BuchNr="Bu-00457">
    					<Titel>Frankreich</Titel>
    					<Autor>Moaaa</Autor>
    					<Anzahl>3</Anzahl>
    					<PreisEUR>49,00</PreisEUR>
    				</Buch>
    			</Ware>
    		</Bestellung>
    	</Bestellteil>
    	<Buecherteil>
    		<Buch_ BuchNr="Bu-00456">
    			<Titel>Deutschland</Titel>
    			<Autor>Grossmann</Autor>
    			<Ausgabenjahr>2001</Ausgabenjahr>
    			<Bestand>59</Bestand>
    			<PreisEUR>31,00</PreisEUR>
    		</Buch_>
    		<Buch_ BuchNr="Bu-00457">
    			<Titel>Frankreich</Titel>
    			<Autor>Moaaa</Autor>
    			<Ausgabenjahr>2006</Ausgabenjahr>
    			<Bestand>23</Bestand>
    			<PreisEUR>49,00</PreisEUR>
    		</Buch_>
    	</Buecherteil>
    	<Kundenteil>
    		<Kund_ KundNr="K-0789">
    			<Name_ Geburtsdatum="13.06.1979">MARTIN Tom</Name_>
    			<Einschreibungsjahr>2005</Einschreibungsjahr>
    			<Adresse>
    				<Strasse>St. Petersburger Str. 25</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    			<Adresse>
    				<Strasse>Budapester Str. 16</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    		</Kund_>
    	</Kundenteil>
    	<Autor>&writer; - &copyright;</Autor>
    </Kartei>
    Un grand merci (encore) à GrandFather ... même si cette fois-ci c'était déjà bon à la base !

    Gôm

  8. #8
    Membre éclairé
    Homme Profil pro
    Consultant en Business Intelligence
    Inscrit en
    Mai 2003
    Messages
    921
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Loire Atlantique (Pays de la Loire)

    Informations professionnelles :
    Activité : Consultant en Business Intelligence

    Informations forums :
    Inscription : Mai 2003
    Messages : 921
    Par défaut
    Je relisais ma DTD et je me disais qu'avoir des doublons ... n'était très certainement pas le but des inventeurs des ID, IDREF et autres IDREFS !!!

    Voici donc mes nouveaux scripts (désolé pour le multi-post), ils me semblent que ainsi, mes scripts peuvent-être utiles et plus syntaxiquement corrects.

    Ma DTD :
    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
    <!ELEMENT Kartei (Bestellteil, Buecherteil, Kundenteil, Autor)>
     
    <!ELEMENT Bestellteil (Bestellung+)>
     
    <!ELEMENT Bestellung (Kund, Ware)>
    <!ATTLIST Bestellung
       Bestelldatum CDATA #REQUIRED
       BestellNr ID #REQUIRED
    >
    <!ELEMENT Kund (#PCDATA)>
    <!ATTLIST Kund
       KundNr IDREF #REQUIRED
       AdNr IDREF #REQUIRED
    >
    <!ELEMENT Ware (Artikel+)>
    <!ATTLIST Ware
       BuecherNr IDREFS #REQUIRED
    >
    <!ELEMENT Artikel (Anzahl)>
    <!ATTLIST Artikel
       BuchNr IDREF #REQUIRED
    >
    <!ELEMENT Anzahl (#PCDATA)>
     
    <!ELEMENT Buecherteil (Buch+)>
     
    <!ELEMENT Buch (Titel, Autor, Ausgabenjahr, Bestand, PreisEUR)>
    <!ATTLIST Buch
       BuchNr ID #REQUIRED
    >
    <!ELEMENT Titel (#PCDATA)>
    <!ELEMENT Autor (#PCDATA)>
    <!ELEMENT Ausgabenjahr (#PCDATA)>
    <!ELEMENT Bestand (#PCDATA)>
    <!ELEMENT PreisEUR (#PCDATA)>
     
    <!ELEMENT Kundenteil (Person+)>
     
    <!ELEMENT Person (Name, Einschreibungsjahr, Adresse+)>
    <!ATTLIST Person
       KundNr ID #REQUIRED
    >
    <!ELEMENT Name (#PCDATA)>
    <!ATTLIST Name
       Geburtsdatum CDATA #IMPLIED
    >
    <!ELEMENT Einschreibungsjahr (#PCDATA)>
    <!ELEMENT Adresse (Strasse, Ort, PLZ)>
    <!ATTLIST Adresse
       AdNr ID #REQUIRED
    >
    <!ELEMENT Strasse (#PCDATA)>
    <!ELEMENT Ort (#PCDATA)>
    <!ELEMENT PLZ (#PCDATA)>
     
    <!ENTITY writer "Guillaume HUCHET">
    <!ENTITY copyright "Copyright HTW Dresden 2006">
    Mon 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
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!-- External DTD -->
    <!DOCTYPE Kartei SYSTEM "Bestell_Kunde_Buch.dtd">
    <Kartei>
    	<Bestellteil>
    		<Bestellung Bestelldatum="07.04.2006" BestellNr="Be-00123">
    			<Kund KundNr="K-0789" AdNr="Ad-01">
    			</Kund>
    			<Ware BuecherNr="Bu-00456 Bu-00457">
    				<Artikel BuchNr="Bu-00456">
    					<Anzahl>6</Anzahl>
    				</Artikel>
    				<Artikel BuchNr="Bu-00457">
    					<Anzahl>3</Anzahl>
    				</Artikel>
    			</Ware>
    		</Bestellung>
    	</Bestellteil>
    	<Buecherteil>
    		<Buch BuchNr="Bu-00456">
    			<Titel>Deutschland</Titel>
    			<Autor>Grossmann</Autor>
    			<Ausgabenjahr>2001</Ausgabenjahr>
    			<Bestand>59</Bestand>
    			<PreisEUR>31,00</PreisEUR>
    		</Buch>
    		<Buch BuchNr="Bu-00457">
    			<Titel>Frankreich</Titel>
    			<Autor>Huchet</Autor>
    			<Ausgabenjahr>2006</Ausgabenjahr>
    			<Bestand>23</Bestand>
    			<PreisEUR>49,00</PreisEUR>
    		</Buch>
    	</Buecherteil>
    	<Kundenteil>
    		<Person KundNr="K-0789">
    			<Name Geburtsdatum="13.06.1979">MARTIN Tom</Name>
    			<Einschreibungsjahr>2005</Einschreibungsjahr>
    			<Adresse AdNr="Ad-01">
    				<Strasse>St. Petersburger Str. 25</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    			<Adresse AdNr="Ad-02">
    				<Strasse>Budapester Str. 16</Strasse>
    				<Ort>Dresden</Ort>
    				<PLZ>01069</PLZ>
    			</Adresse>
    		</Person>
    	</Kundenteil>
    	<Autor>&writer; - &copyright;</Autor>
    </Kartei>
    Gôm.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Utilisation de Option explicit
    Par Perihan dans le forum ASP
    Réponses: 5
    Dernier message: 29/10/2003, 11h43
  2. Réponses: 2
    Dernier message: 29/07/2003, 12h52
  3. Faire respecter une DTD !!!
    Par haypo dans le forum Valider
    Réponses: 3
    Dernier message: 12/07/2003, 19h20
  4. Placement des balises avec DTD
    Par Keul125 dans le forum Valider
    Réponses: 4
    Dernier message: 28/05/2003, 12h08
  5. - Insertion : valeur explicite
    Par Leoxp dans le forum MS SQL Server
    Réponses: 4
    Dernier message: 06/05/2003, 17h21

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