You can get the same information from the <junos-context> node passed in the <op-script-input> document. The <junos-context> node is also stored in the $junos-context variable.
For example: root@r0-re0:~ # cat /var/tmp/is-master.slax version 1.1; ns junos = "http://xml.juniper.net/junos/*/junos"; ns xnm = "http://xml.juniper.net/xnm/1.1/xnm"; ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; import "../import/junos.xsl"; match / { <op-script-output> { <output> { expr "Through method one, this is the "; if (op-script-input/junos-context/re-master) { expr "master."; } else { expr "slave."; } } <output> { expr "Through method two, this is the "; if ($junos-context/re-master) { expr "master."; } else { expr "slave."; } } } } root@r0-re0:~ # cli root@r0-re0> op url /var/tmp/is-master.slax Through method one, this is the master. Through method two, this is the master. root@r0-re1> op url re0:/var/tmp/is-master.slax Through method one, this is the slave. Through method two, this is the slave. By the way, as a shameless plug, a colleague and I are co-authoring a book on Junos automation, due out soon: http://shop.oreilly.com/product/0636920041498.do . The book shows the junos-context portion of the input document. There is some other potentially useful information in the junos-context node (hostname, model, time, executing username, etc.). Jonathan On Wed, Jan 13, 2016 at 6:49 AM, Martin T <m4rtn...@gmail.com> wrote: > Hi, > > Junos has "banner" XML element under "rpc-reply" and "cli" hierarchy: > > <rpc-reply> > <cli> > <banner></banner> > </cli> > </rpc-reply> > > Is it somehow possible to read the value of "banner" element with SLAX > script? For example I have a router with dual routing-engines, i.e > "banner" element has either value of "{master}" or "{backup}": > > {master} > root@M10i> show version brief | display xml | find cli > <cli> > <banner>{master}</banner> > </cli> > </rpc-reply> > > {master} > root@M10i> > > > Now if I try to print the value of "banner" element, then this does not > work: > > > {master} > root@M10i> file show /var/db/scripts/op/show-banner.slax > version 1.0; > > ns jcs = "http://xml.juniper.net/junos/commit-scripts/1.0"; > > match / { > <op-script-results> { > var $sh_ver_cmd = <command> "show version brief"; > var $sh_ver_cmd_out = jcs:invoke( $sh_ver_cmd ); > var $banner_var = $sh_ver_cmd_out//banner; > <output> $banner_var; > } > } > > {master} > root@M10i> op show-banner > > > {master} > root@M10i> > > > Is there a way to process everything between <rpc-reply></rpc-reply> > elements? I'm afraid that my script processes data between > <software-information> and </software-information> elements. > > > thanks, > Martin > _______________________________________________ > juniper-nsp mailing list juniper-nsp@puck.nether.net > https://puck.nether.net/mailman/listinfo/juniper-nsp > _______________________________________________ juniper-nsp mailing list juniper-nsp@puck.nether.net https://puck.nether.net/mailman/listinfo/juniper-nsp