PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : flexible DTD?



clumsy
07-07-2004, 12:47
Hallo,

folgende DTD erstmal:

<?XML version="1.0" encoding="ISO-8859-1" ?>
<!ENTITY % auswahl "Summe | Produkt | Potenz | const | var">
<!ELEMENT Ausdruck (%auswahl)>
<!ELEMENT const (#PCDATA)>
<!ELEMENT var ( #PCDATA ) >
<!ELEMENT Summe (%auswahl)+>
<!ELEMENT Produkt (%auswahl)+>
<!ELEMENT Potenz (%auswahl),(%auswahl)>

Jetzt wird verlangt, dass diese DTD in einem XML-Dikument verwendet werden kann, aber man trotzdem sicherstellen kann, dass Potenzen und Variablen nicht versehentlich im Ausdruck vorkommen. Das hab ich so gelöst:


<?XML version="1.0" encoding="ISO-8859-1" standalone="no"?>
<!DOCTYPE Ausdruck SYSTEM "Ausdruck.dtd">
<![IGNORE[
<!ELEMENT var (#PCDATA)>
<!ELEMENT Potenz (%auswahl),(%auswahl)>
]
]>

Ich nehm an, dass das bis hierher stimmt....
Jetzt aber mein Problem:


Das Szenario der vorigen Aufgaben sei so erweitert, dass zusätzlich Differenzen und Quotienten vorkommen knnen. Die zu erstellenden Dokumente seien so, dass die jeweils erlaubten Ausdrcke wechseln. Konstanten drfen grundsätzlich immer vorkommen, aber Ausdrcke der Strichrechnung (Summe, Di erenz) können erlaubt oder verboten sein; ebenso können Ausdrücke der Punktrechnung (Produkt, Quotient), Ausdrcke der Potenzrechnung (Potenz) sowie Ausdrücke der Algebra (Variablen) unabhängig voneinander erlaubt oder verboten sein.


Wie sieht diese flexible DTD nun aus?? Ich hab keine Lösung gefunden...

THX
clumsy