Hallo allerseits,
1)
hoffentlich bin ich im richtigen Forum.
Ich versuche gerade etwas mit xml und xsd zu experimentieren.
Ich habe eine einfache Datei musik3.xml und will sie gegen die Datei musik3.xsd validieren.
Eigentlich müsste es bei der Validierung eine Fehlermeldung geben, da der Tag
<schrott> nicht in der Datei musik3.xsd definiert wurde.
Aber es gibt diese Fehlermeldung nicht!
Warum ?
Hier meine Vorgehensweise:
2)
Ich habe dies im Editor jedit wie folgt gemacht:
Plugins --> XML --> set Schema:
Dort habe ich musik3.xsd ausgewählt.
Dann habe ich folgendes gemacht:
Plugins --> XML --> parse as XML
Dann wird ein Fenster mit Namen "Sidekick" geöffnet und so eine Art der folgenden Ordnerstruktur angezeigt:
(was auffällt: ganz unten fehlt <PRICE>)
---------------------------------------
<SONGS>
<SONG>
<schrott>
<TITLE>
<COMPOSER>
<PRODUCER>
<PUBLISHER>
<LENGTH>
<YEAR>
<ARTIST>
<PRICE>
<SONG>
<TITLE>
<COMPOSER>
<PRODUCER>
<PUBLISHER>
<LENGTH>
<YEAR>
<ARTIST>
---------------------------------------
3) Die Inhalte der Dateien
a) Inhalt der Datei musik3.xml:
-----------------------------------------------------
<?xml version="1.0"?>
<SONGS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="musik3.xsd">
<SONG>
<schrott>teste</schrott>
<TITLE>Yes I Am</TITLE>
<COMPOSER>Melissa Etheridge</COMPOSER>
<PRODUCER>Hugh Padgham</PRODUCER>
<PUBLISHER>Island Records</PUBLISHER>
<LENGTH>4:24</LENGTH>
<YEAR>1993</YEAR>
<ARTIST>Melissa Etheridge</ARTIST>
<PRICE>$1.25</PRICE>
</SONG>
<SONG>
<TITLE>x1</TITLE>
<COMPOSER>x2</COMPOSER>
<PRODUCER>x3</PRODUCER>
<PUBLISHER>x4</PUBLISHER>
<LENGTH>4:12</LENGTH>
<YEAR>1978</YEAR>
<ARTIST><Nobody</ARTIST>
<PRICE>$0.00</PRICE>
</SONG>
</SONGS>
-----------------------------------------------------
b) Inhalt der Datei musik3.xsd:
-----------------------------------------------------
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.note.org"
elementFormDefault="qualified">
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
<xsd:element name="SONGS" type="SongTypes"/>
<xsd:complexType name="SongType">
<xsd:complexType name="SongType">
<xsd:sequence>
<xsd:element name="SONG" type="xsd:SongTypes"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SONG" type="SongType" minOccurs="0" maxOccurs="10"/>
<xsd:complexType name="SongType">
<xsd:sequence>
<xsd:element name="TITLE" type="xsd:string"/>
<xsd:element name="COMPOSER" type="xsd:string"/>
<xsd:element name="PRODUCER" type="xsd:string"/>
<xsd:element name="PUBLISHER" type="xsd:string"/>
<xsd:element name="LENGTH" type="xsd:string"/>
<xsd:element name="YEAR" type="xsd:string"/>
<xsd:element name="ARTIST" type="xsd:string"/>
<xsd:element name="PRICE" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
-----------------------------------------------------
mfg
ernst
1)
hoffentlich bin ich im richtigen Forum.
Ich versuche gerade etwas mit xml und xsd zu experimentieren.
Ich habe eine einfache Datei musik3.xml und will sie gegen die Datei musik3.xsd validieren.
Eigentlich müsste es bei der Validierung eine Fehlermeldung geben, da der Tag
<schrott> nicht in der Datei musik3.xsd definiert wurde.
Aber es gibt diese Fehlermeldung nicht!
Warum ?
Hier meine Vorgehensweise:
2)
Ich habe dies im Editor jedit wie folgt gemacht:
Plugins --> XML --> set Schema:
Dort habe ich musik3.xsd ausgewählt.
Dann habe ich folgendes gemacht:
Plugins --> XML --> parse as XML
Dann wird ein Fenster mit Namen "Sidekick" geöffnet und so eine Art der folgenden Ordnerstruktur angezeigt:
(was auffällt: ganz unten fehlt <PRICE>)
---------------------------------------
<SONGS>
<SONG>
<schrott>
<TITLE>
<COMPOSER>
<PRODUCER>
<PUBLISHER>
<LENGTH>
<YEAR>
<ARTIST>
<PRICE>
<SONG>
<TITLE>
<COMPOSER>
<PRODUCER>
<PUBLISHER>
<LENGTH>
<YEAR>
<ARTIST>
---------------------------------------
3) Die Inhalte der Dateien
a) Inhalt der Datei musik3.xml:
-----------------------------------------------------
<?xml version="1.0"?>
<SONGS xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="musik3.xsd">
<SONG>
<schrott>teste</schrott>
<TITLE>Yes I Am</TITLE>
<COMPOSER>Melissa Etheridge</COMPOSER>
<PRODUCER>Hugh Padgham</PRODUCER>
<PUBLISHER>Island Records</PUBLISHER>
<LENGTH>4:24</LENGTH>
<YEAR>1993</YEAR>
<ARTIST>Melissa Etheridge</ARTIST>
<PRICE>$1.25</PRICE>
</SONG>
<SONG>
<TITLE>x1</TITLE>
<COMPOSER>x2</COMPOSER>
<PRODUCER>x3</PRODUCER>
<PUBLISHER>x4</PUBLISHER>
<LENGTH>4:12</LENGTH>
<YEAR>1978</YEAR>
<ARTIST><Nobody</ARTIST>
<PRICE>$0.00</PRICE>
</SONG>
</SONGS>
-----------------------------------------------------
b) Inhalt der Datei musik3.xsd:
-----------------------------------------------------
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.note.org"
elementFormDefault="qualified">
<?xml version="1.0"?>
<xsd:schema xmlns:xsd="http://www.w3.org/2000/10/XMLSchema"
<xsd:element name="SONGS" type="SongTypes"/>
<xsd:complexType name="SongType">
<xsd:complexType name="SongType">
<xsd:sequence>
<xsd:element name="SONG" type="xsd:SongTypes"/>
</xsd:sequence>
</xsd:complexType>
<xsd:element name="SONG" type="SongType" minOccurs="0" maxOccurs="10"/>
<xsd:complexType name="SongType">
<xsd:sequence>
<xsd:element name="TITLE" type="xsd:string"/>
<xsd:element name="COMPOSER" type="xsd:string"/>
<xsd:element name="PRODUCER" type="xsd:string"/>
<xsd:element name="PUBLISHER" type="xsd:string"/>
<xsd:element name="LENGTH" type="xsd:string"/>
<xsd:element name="YEAR" type="xsd:string"/>
<xsd:element name="ARTIST" type="xsd:string"/>
<xsd:element name="PRICE" type="xsd:string"/>
</xsd:sequence>
</xsd:complexType>
</xsd:schema>
-----------------------------------------------------
mfg
ernst