summaryrefslogtreecommitdiff
path: root/algo1w4d1/readme.md
diff options
context:
space:
mode:
Diffstat (limited to 'algo1w4d1/readme.md')
-rw-r--r--algo1w4d1/readme.md35
1 files changed, 35 insertions, 0 deletions
diff --git a/algo1w4d1/readme.md b/algo1w4d1/readme.md
new file mode 100644
index 0000000..bfeff41
--- /dev/null
+++ b/algo1w4d1/readme.md
@@ -0,0 +1,35 @@
+# week 4 deel 1
+
+De criteria in de opdrachtbeschrijving zijn een beetje vaag, dus het
+standaardgedrag van de XML parser staat in Doxygen-formaat in ValidXML.h
+uitgelegd. De parser controleert letter voor letter of de XML nog geldig is,
+waarbij gecontroleerd wordt op hiërarchie (d.m.v. Stack-klasse), en juiste
+XML-syntax (geen dubbele `<` of `>`, en geen misplaatste `/`). Juiste
+hiërarchie betekent voor deze parser alleen dat een bovenliggende tag niet kan
+worden gesloten vóór een onderliggende tag. De main.cpp zorgt ervoor dat de
+parser altijd vanuit stdin leest:
+
+```bash
+$ make
+g++ -c Stack.cpp -o Stack.o
+g++ -c ValidXML.cpp -o ValidXML.o
+g++ -c main.cpp -o main.o
+g++ Stack.o ValidXML.o main.o -lstdc++ -o main
+$ cat correct.xml
+<persoon>
+ <naam attr="test">Donald Duck</naam>
+ <adres>Eendenplein 17</adres>
+ <woonplaats>Duckstad</woonplaats>
+</persoon>
+$ cat invalid.xml
+<persoon>
+ <naam><adres>Donald Duck</naam>
+ Eendenplein 17</adres>
+ <woonplaats>Duckstad</woonplaats>
+$ ./main < correct.xml
+XML is valid
+$ ./main < invalid.xml
+XML is invalid
+$
+```
+