Ladon
30.06.2006, 16:43
Hallo zusammen.
Ich hab hier nun wirklich eine komplexe Aufgabe bei der ich nicht weiter komme.
Es ist auch relativ schwierig die Logik zu verstehen.
Aber ich hoffe trotzdem das mir hier jemand helfen kann...
Ich komme hier auch gleich mal zum Wesentlichen:
Datei_1.xml
***********
<Liste_1>
<Nummer>1</Nummer>
<Nummer>2</Nummer>
<Nummer>3</Nummer>
<Nummer>4</Nummer>
<Nummer>5</Nummer>
</Liste_1>
<!--Neben <Liste_1> dürfen die Nummern 1-5 nicht existieren.-->
-------------------------
Datei_2.xml
***********
<G1 key="1">
<data zahl="1"/>
<data zahl="2"/>
<data zahl="3"/>
<data zahl="4"/>
</G1>
<!--Neben key="1"(entspricht Liste_1) dürfen die "zahlen"/Nummern 1-4 nicht existieren.-->
<G5 key="5">
<data zahl="1"/>
<data zahl="7"/>
<data zahl="8"/>
<data zahl="9"/>
</G5>
<!--Neben key="5"(entspricht Liste_5) dürfen die Nummern 1;7;8;9 nicht existieren.-->
<!--Es darf neben key="5"(Liste_5) nicht die zahl="1"(Nummer 1) existieren-->
<!--Darum darf neben Liste_1 auch nicht die Nummer 5 existieren-->
--------------------
Key-Nummer in Datei_2.xml entsprechen Liste_* in Datei_1.xml
Also:
<G1 key="1"> entspricht <Liste_1>
<G2 key="2"> würde <Liste_2> entsprechen.
<G5 key="5"> würde <Liste_5> entsprechen.
--------------------
Bisher wird geprüft:
********************
1.Prüfung:
"Liste"-Knoten und "key"-Attribut werden geprüft, ob ihre Ziffer identisch ist.
In diesem Fall sind es:
<Liste_1> wird mit <G1 key="1"> verglichen.
2.Prüfung:
Sind "Liste" und "key" identisch, prüfe ob <Liste_1/Nummer> und <G1/data/@zahl> identisch
sind.
3.Prüfung:
Ist in <Liste_1/Nummer> eine Zahl, die NICHT in <G1/data/@zahl> vorhanden ist,
gib diese Zahl in einer Liste <Zu_Viel> aus.
Ist in <G1/data/@zahl> eine Zahl, die NICHT in <Liste_1/Nummer> vorhanden ist,
gib diese Zahl in einer Liste <Zu_Wenig> aus.
Jetzt wird wieder eine neue <Liste> mit einem neuen "<key>" verglichen.
Ist dies wieder identisch, beginnt das ganze wieder von vorne.
--------------------
Nun soll aber anstatt der 3.Prüfung folgendes geprüft werden:
**************************************************************
Ist in <Liste_1/Nummer> eine Zahl, die NICHT in <G1/data/@zahl> vorhanden ist,
in diesem Beispiel <Nummer>5</Nummer>, prüfe ob key="5" vorhanden ist.
Ist key="5" vorhanden, prüfe ob <data zahl="1"/> vorhanden ist.
Ist dies vorhanden, gib diese Zahl (in diesem Fall: 1) nicht aus.
Der bisherige Code ist zu komplex als das ich ihn hier zeigen könnte.
Für diese Aufgabe ist das ja auch garnicht nötig.
Also ich hoffe das jemand von euch mir hier weiterhelfen kann...
Schon mal vielen herzlichen Dank für die Mühe!
Andreas
Ich hab hier nun wirklich eine komplexe Aufgabe bei der ich nicht weiter komme.
Es ist auch relativ schwierig die Logik zu verstehen.
Aber ich hoffe trotzdem das mir hier jemand helfen kann...
Ich komme hier auch gleich mal zum Wesentlichen:
Datei_1.xml
***********
<Liste_1>
<Nummer>1</Nummer>
<Nummer>2</Nummer>
<Nummer>3</Nummer>
<Nummer>4</Nummer>
<Nummer>5</Nummer>
</Liste_1>
<!--Neben <Liste_1> dürfen die Nummern 1-5 nicht existieren.-->
-------------------------
Datei_2.xml
***********
<G1 key="1">
<data zahl="1"/>
<data zahl="2"/>
<data zahl="3"/>
<data zahl="4"/>
</G1>
<!--Neben key="1"(entspricht Liste_1) dürfen die "zahlen"/Nummern 1-4 nicht existieren.-->
<G5 key="5">
<data zahl="1"/>
<data zahl="7"/>
<data zahl="8"/>
<data zahl="9"/>
</G5>
<!--Neben key="5"(entspricht Liste_5) dürfen die Nummern 1;7;8;9 nicht existieren.-->
<!--Es darf neben key="5"(Liste_5) nicht die zahl="1"(Nummer 1) existieren-->
<!--Darum darf neben Liste_1 auch nicht die Nummer 5 existieren-->
--------------------
Key-Nummer in Datei_2.xml entsprechen Liste_* in Datei_1.xml
Also:
<G1 key="1"> entspricht <Liste_1>
<G2 key="2"> würde <Liste_2> entsprechen.
<G5 key="5"> würde <Liste_5> entsprechen.
--------------------
Bisher wird geprüft:
********************
1.Prüfung:
"Liste"-Knoten und "key"-Attribut werden geprüft, ob ihre Ziffer identisch ist.
In diesem Fall sind es:
<Liste_1> wird mit <G1 key="1"> verglichen.
2.Prüfung:
Sind "Liste" und "key" identisch, prüfe ob <Liste_1/Nummer> und <G1/data/@zahl> identisch
sind.
3.Prüfung:
Ist in <Liste_1/Nummer> eine Zahl, die NICHT in <G1/data/@zahl> vorhanden ist,
gib diese Zahl in einer Liste <Zu_Viel> aus.
Ist in <G1/data/@zahl> eine Zahl, die NICHT in <Liste_1/Nummer> vorhanden ist,
gib diese Zahl in einer Liste <Zu_Wenig> aus.
Jetzt wird wieder eine neue <Liste> mit einem neuen "<key>" verglichen.
Ist dies wieder identisch, beginnt das ganze wieder von vorne.
--------------------
Nun soll aber anstatt der 3.Prüfung folgendes geprüft werden:
**************************************************************
Ist in <Liste_1/Nummer> eine Zahl, die NICHT in <G1/data/@zahl> vorhanden ist,
in diesem Beispiel <Nummer>5</Nummer>, prüfe ob key="5" vorhanden ist.
Ist key="5" vorhanden, prüfe ob <data zahl="1"/> vorhanden ist.
Ist dies vorhanden, gib diese Zahl (in diesem Fall: 1) nicht aus.
Der bisherige Code ist zu komplex als das ich ihn hier zeigen könnte.
Für diese Aufgabe ist das ja auch garnicht nötig.
Also ich hoffe das jemand von euch mir hier weiterhelfen kann...
Schon mal vielen herzlichen Dank für die Mühe!
Andreas