Disclaimer: Dieser Thread wurde aus dem alten Forum importiert. Daher werden eventuell nicht alle Formatierungen richtig angezeigt. Der ursprüngliche Thread beginnt im zweiten Post dieses Threads.
XML #Required
#required gibt ja an das der Wert belegt sein muss. nun folgendes beispiel wenn ich hier hinter Personalakte den Wert weglasse, also dort PersNr=“12345” dann sollte mir das doch ein Fehler anzeigen oder? benutze baseX, ich kann jedoch das Dokument laden und er zeigt mir auch kein Fehler an das da ein Wert eingetragen sein muss. liegt das am Programm? bin da dich sehr verwirrt, warum der keine Fehler anzeigt.
<!ATTLIST Personalakte PersNr CDATA #REQUIRED>
<!ELEMENT Personalien (Nachname, Vorname+,GebDat)>
<!ELEMENT Nachname (#PCDATA)>
<!ELEMENT Vorname (#PCDATA)>
<!ELEMENT GebDat (#PCDATA)>
]>
Meier
Ambrosius
20. Juli 1974
P.S.: wenn ich das richtig versteh dann darf doch in dem Wurzelelement nur Elementtypen benutzt werden die vorher im DTD definiert sind. d.h. würde ich ein es so abändern wie unten, dann müsst es auch einen Fehler geben. liegt das an BaseX das es hier keine raus wirft und diese Fehler einfach ignoriert? wenn ja, gibt es vielleicht ein anderes Programm das sich zum experimentieren und lernen von XML nutzt?
<Personalien>
<Nachname> Meier </Nachname>
<Vorname> Ambrosius </Vorname>
<GebDat> 20. Juli 1974 </GebDat>
<FOO> FAA </FOO>
</Personalien>
Ja, du hast bei beidem recht.
Probiers mal hiermit: http://validator.w3.org/check