SAX2 mehere eintraege
-
heiho
ich lern zZt den SAX2 teil von xerces, und ich fummel hier schon seit stunden an einem problem herum
das sind die dateien:
person.xml
<?xml version="1.0" encoding="iso-8859-1"?> <person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="person.xsd"> <name>Max Mustermann</name> <strasse_nr>Musterstrasse 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Max@Mustermann.de</email> <telefon>0123123456</telefon> </person>person.xsd
(hab diese datei hier mal um die *_type typen gekuerzt)<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="name" type="name_type"/> <xs:element name="strasse_nr" type="strasse_nr_type"/> <xs:element name="plz_ort" type="plz_ort_type"/> <xs:element name="dsl_anschluss" type="dsl_anschluss_type"/> <xs:element name="email" type="email_type"/> <xs:element name="telefon" type="telefon_type"/> </xs:sequence> </xs:complexType> </xs:element>was ich schon seit ewigkeiten versucht ist indem ich ein zweites "<person>" hinzufuegen will
<?xml version="1.0" encoding="iso-8859-1"?> <person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="person.xsd"> <name>Max Mustermann</name> <strasse_nr>Musterstrasse 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Max@Mustermann.de</email> <telefon>0123123456</telefon> </person> <!-- Error <person xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="person.xsd"> <name>Max Mustermann</name> <strasse_nr>Musterstrasse 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Max@Mustermann.de</email> <telefon>0123123456</telefon> </person> --> <!-- Error <person> <name>Max Mustermann</name> <strasse_nr>Musterstrasse 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Max@Mustermann.de</email> <telefon>0123123456</telefon> </person> -->wie muesste ich die sxd preparieren damit der SAX2 parser da keine exception wirft ?
bin da etwas durcheinander, in mein lehrbuch wurde nur mit einem person type gearbeitet
-
und zack war ich wieder zu voreilig, habs hinbekommen, der fehler war das ich eine id vergeben muss
person.xsd
(die simplytype wie vorhin rausgeschnitten)<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="personlist"> <xs:complexType> <xs:sequence> <xs:element name="person" maxOccurs="unbounded"> <xs:complexType> <xs:sequence> <xs:element name="name" type="name_type"/> <xs:element name="strasse_nr" type="strasse_nr_type"/> <xs:element name="plz_ort" type="plz_ort_type"/> <xs:element name="dsl_anschluss" type="dsl_anschluss_type"/> <xs:element name="email" type="email_type"/> <xs:element name="telefon" type="telefon_type"/> </xs:sequence> <xs:attribute name="person_id" type="xs:ID" use="required"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>person.xml
<?xml version="1.0" encoding="iso-8859-1"?> <personlist xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="person.xsd"> <person person_id="Max"> <name>Max Mustermann</name> <strasse_nr>Musterstr 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Max@Mustermann.de</email> <telefon>12345123456</telefon> </person> <person person_id="Marta"> <name>MartaMustermann</name> <strasse_nr>Musterstr 12</strasse_nr> <plz_ort>12345 Musterhausen</plz_ort> <dsl_anschluss>ja</dsl_anschluss> <email>Marta@Mustermann.de</email> <telefon>12345123457</telefon> </person> </personlist>danke fuer die aufmerksamkeit
xml is schon cool {=
//dazuedit, geht auch ohne ID, solange
<xs:element name="person" maxOccurs="unbounded">
angegeben ist