Install
openclaw skills install xmlParse, generate, and transform XML with correct namespace handling and encoding.
openclaw skills install xml/root/child fails if document has default namespace—use //*[local-name()='child'] or register prefixxmlns="...") applies to elements, not attributes—attributes need explicit prefix<foo:element> and <bar:element> are identical if both prefixes map to same URI<?xml version="1.0" encoding="UTF-8"?> must match actual file encoding—mismatch corrupts non-ASCII& < > " '<![CDATA[...]]> for blocks with many special chars—but ]]> inside CDATA breaks it" if delimited by ", or ' if delimited by '< and < work everywhere—useful for edge casesxml:space="preserve" attribute signals whitespace significance—but not all parsers respect itnormalize-space(text()) trims and collapses internal whitespace//element is expensive—traverses entire document; use specific paths when structure is known[1] is first, not [0]text() returns direct text children only—use string() or . for concatenated descendant text[@attr] tests existence, [@attr=''] tests empty value—different results<tag/> and empty <tag></tag> are semantically identical—but some legacy systems choke on self-closing--—will break parser even inside string content<?target data?> cannot have ?> in dataxmlns:xs="http://www.w3.org/2001/XMLSchema" commonly confused with instance namespace