diff options
Diffstat (limited to 'algo1w4d1/readme.md')
-rw-r--r-- | algo1w4d1/readme.md | 35 |
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 +$ +``` + |