1. Juniper Networks Documentation, "Automation Scripting User Guide": In the section "Using XPath to Specify Addressable Portions of a Configuration," the guide explains the operators. It states, "The double forward slash (//) is a recursive descent operator... The single forward slash (/) is a child operator. It indicates that the node to its right must be a child of the node to its left." This supports that //address/name correctly finds all address elements and then their direct name children.
2. Juniper Networks Documentation, "Junos XML API and Scripting Developer Guide": The "XPath Overview" section details how XPath is used to navigate the Junos OS configuration hierarchy represented in XML. It confirms that // selects nodes anywhere in the hierarchy, while / selects a direct child, validating the logic for choosing //address/name to navigate from an address element to its child name element.
3. W3C Recommendation, "XML Path Language (XPath) Version 1.0": Section 2.5, "Abbreviated Syntax," defines // as the abbreviation for /descendant-or-self::node()/. This formal definition confirms that //address selects
elements at any depth, which is the first step in the correct expression.