====== HW05 - XML dokument ====== ^ Termín odevzdání | 27.11.2023 23:59 CET | ^ Bodový zisk | 6b | ===== Zadání ===== Cílem úlohy je provést validaci strukturovaného textu (XML) ve formě textového řetězce obecné délky, který je argumentem funkce. V úloze uvažujeme pouze slova bez diakritiky. Za XML dokument budeme považovat takový textový řetězec, který začíná libovolným XML tagem. V řešení není dovoleno použití externích knihoven. ===== Odevzdání ===== * Do BRUTE odevzdejte soubor ''validace.py'', který bude obsahovat funkci ''xml'' s jedním argumentem - textovým řetězcem. * Informace v textovém řetězci je strukturována pomocí XML značek. * XML značky jsou * párové '''', '''' * nepárové '''', '''' * Ve vstupním textu se mohou objevit oba druhy. * Párovost / nepárovost značek zde není určena definicí, ale pouze zápisem (tj. kombinací znaků ''<'', ''>'' a ''/''). * Návratovou hodnotou funkce je n-tice, jejíž první položkou je logická hodnota, reprezentující validitu XML textu, druhou je počet celkem nalezených tagů a třetí seznam s nalezenými (unikátnimi) tagy ve validním XML. Pokud je XML text nevalidní, počet tagů bude ''None'' a seznam bude prázdný. ===== Příklady ===== ==== Příklad 1 ==== xml('') (False, None, []) ==== Příklad 2 ==== xml('10ahoj svete') (True, 5, ['a', 'b', 'c', 'd']) ==== Příklad 3 ==== xml('
1020
') (True, 7, ['table', 'tr', 'td', 'img'])