Auge: DTD, mehrfach vorkommen könnende optionale Elemente

Beitrag lesen

Hallo

Ich versuche mich an einer DTD für einen eigenen XML-Dialekt. ich habe mir den DTD-Bereich von SelfHTML reingezogen. Für bestimmte Elemente soll folgendes gelten. Sie sind Kindelemente eines anderen Elemnents. Sie sind optional, könne aber, so sie vorhanden sind, mehrfach vorkommen. Getestet ist der Code, den ich hier zeige, bisher nicht.

  <!ELEMENT objekttechnik (frequenzbereich, (filtertyp, rueckkanal, (verkabelungstyp)+)*) >  
    <!ELEMENT frequenzbereich EMPTY >  
    <!ELEMENT filtertyp #PCDATA >  
    <!ELEMENT rueckkanal EMPTY >  
    <!ELEMENT verkabelungstyp EMPTY >  
  
<!ATTLIST frequenzbereich  
  untergrenze CDATA #IMPLIED  
  obergrenze CDATA #REQUIRED  

>  

<!ATTLIST rueckkanal  
 faehig (ja | nein) "nein"  
 vorhanden CDATA #IMPLIED  

>  

<!ATTLIST verkabelungstyp  
 typ CDATA #REQUIRED  

>

Bei der Verschachtelung in der Deklaration von objekttechnik bin ich mir nicht sicher. Das Element frequenzbereich ist verpflichtend, filtertyp, rueckkanal und verkabelungstyp sind optional (*). verkabelungstyp kann, wenn vorhanden, mehrfach vorhanden sein (+). Hat jemand eine Quelle, wo solche Schachtelfälle „menschenlesbar“ beschrieben sind? SelfHTML selbst geht ja nur auf die Regeln selbst aber nicht auf deren Verschachtelungsmöglichkeiten ein.

Der Validome-Validator hat zwar nichts zu meckern, aber manchmal ist ja auch etwas syntaktisch korrekt und hat dennoch eine kaputte Logik.

Tschö, Auge

--
Verschiedene Glocken läuteten in der Stadt, und jede von ihnen vertrat eine ganz persönliche Meinung darüber, wann es Mitternacht war.
Terry Pratchett, "Wachen! Wachen!"
ie:{ fl:| br:> va:) ls:[ fo:) rl:( ss:| de:> js:| zu:}
Veranstaltungsdatenbank Vdb 0.3