August 2018
Intermediate to advanced
366 pages
10h 14m
English
Writing SGML-based languages is generally not very hard, most languages provide utilities to work with them, but if the document gets too big, it's easy to get lost when trying to build the tree of elements programmatically.
Ending up with hundreds of .addChild or similar calls all after each other makes it really hard to understand where we were in the document and what part of it we are currently editing.
Thankfully, by joining the Python ElementTree module with context managers, we can have a solution that allows our code structure to match the structure of the XML/HTML we are trying to generate.