V předchozím dílu o XML jsme v DOM = Document Object Model založili první, zatím nezapojený element. Cílem je, abychom sestrojili datový XML soubor s vyplněnými daty formuláře.
Podkladová úloha: Ponecháváme si příklad s Klubem Franze Kafky z minulých dílů. Stáhněte si sešit 2013-12 XML.xlsm. Sešit otevřete. Uvidíte zhruba toto:
Předseda začíná šílet. Z UNESCO ho urgoval šéf odboru, proč to všechno trvá tak dlouho. Předseda pověřil svou sekretářku, ať vám denně telefonuje, na čem to vázne. Vaše nervozita stoupá, protože jste dosud s DOM mnoho nepokročili.
Minule jsme sestrojili první Element s názvem KFK, ovšem ten byl zcela samostatný, zatím mimo plánovaný „pařez s kořeny“ (datový strom).
Měli bychom si nyní ujasnit, že v DOM jsou všechny součástky ve skutečnosti nodes (uzly). Pokud chceme k Elementu přidat textovou hodnotu, ve skutečnosti přidáváme TextNode, což je specializovaný Child node původního elementu. Podívejte se na to podrobněji:
Druhý Debug již vypisuje hodnotu True, ačkoli před přidáním textové hodnoty to bylo ještě False.
O jaký druh uzlu (Node) se jedná, vypovídá vlastnost nodeType:
Toto pochopení nás přivádí k dalšímu poznatku o uzlech. Existuje jich nejméně 12 typů.
NodeValue
|
Popis
|
(1)
|
NODE_ELEMENT
|
(2)
|
NODE_ATTRIBUTE
|
(3)
|
NODE_TEXT
|
(4)
|
NODE_CDATA_SECTION
|
(5)
|
NODE_ENTITY_REFERENCE
|
(6)
|
NODE_ENTITY
|
(7)
|
NODE_PROCESSING_INSTRUCTION
|
(8)
|
NODE_COMMENT
|
(9)
|
NODE_DOCUMENT
|
(10)
|
NODE_DOCUMENT_TYPE
|
(11)
|
NODE_DOCUMENT_FRAGMENT
|
(12)
|
NODE_NOTATION
|
Pro nás jsou zatím důležité typy 1,2,3,9.
Sestrojování dalších „kořenů z pařezu“ probíhá obvykle tak,…