XPath plugin for pyang -- lists the XPath paths for all or selected YANG elements
This plugin prints the name of each YANG node on a separate line with its full XPath path. This is useful when looking for a particular element in a large YANG file, and looking for the exact path it (or they) are at.
XPath output specific options:
--xpath-help Print help on tree symbols and exit
--xpath-depth=XPATH_DEPTH
Max number of levels to search
--xpath-path=XPATH_PATH
Limit search to this subtree
--xpath-name=XPATH_NAME
Only print nodes with this exact name
--xpath-substring=XPATH_SUBSTRING
Only print nodes containing this substring
A couple of examples:
$ pyang -f xpath tailf-ncs.yang --xpath-substring back-track
tailf-ncs-devices.yang:22: warning: imported module tailf-ncs-monitoring not used
>>> module: tailf-ncs
/zombies/service/plan/component/back-track
/zombies/service/plan/component/back-track-goal
/zombies/service/plan/component/force-back-track
/zombies/service/plan/component/force-back-track/back-tracking-goal
>>> augment /kicker:kickers:
>>> notifications:
$ pyang -f xpath tailf-ncs.yang --xpath-name name --xpath-path /zombies
tailf-ncs-devices.yang:22: warning: imported module tailf-ncs-monitoring not used
>>> module: tailf-ncs
/zombies/service/plan/component/name
/zombies/service/plan/component/state/name
/zombies/service/plan/component/private/property-list/property/name
/zombies/service/re-deploy/commit-queue/failed-device/name
>>> augment /kicker:kickers:
/notification-kicker/variable/name
Note that unless you copy the plugin to your pyang installation's plugin directory, you will need to add a --plugindir= option to point out where you have your xpath.py plugin.