Re: [ansible-project] XML module xpath issues - "does not reference a node" error

2018-02-19 Thread Kai Stian Olstad

On 19.02.2018 13:57, ADB101 wrote:
I can get some xpath's to work correctly, but only in "simple" (?) 
forms.

For example:

- name: Check current value
  xml:
file: "{{oam_xml_file}}"
xpath:
/x:Configuration/Setting[@Name='NGAMConfiguration']/Setting[@Name='DeployedComponent']/Setting[@Name='Agent']/Setting[@Name='WebGate']/Setting[@Name='Instance']/Setting[@Name='APPS_OAM11G']/Setting[@Name='UserDefinedParameters']/Setting[@Name='client_request_retry_attempts']/*
content: text
namespaces:
   x: http://www.w3.org/2001/XMLSchema

The issue is that I really need the full xpath to work as there are 
often
several entries with the same "Name='*tag*'" that are only 
distinguishable

by their full path. I have tried even going one level down in the xml,
using a full path, and I still get "does not reference a node" error
message.


I'm not sure, but my hunch is that you need to postfix all with the 
namespace, so /x:Settings on all of them.


--
Kai Stian Olstad

--
You received this message because you are subscribed to the Google Groups "Ansible 
Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/ba68dd1d34c565cba4139644f2b87f1c%40olstad.com.
For more options, visit https://groups.google.com/d/optout.


[ansible-project] XML module xpath issues - "does not reference a node" error

2018-02-19 Thread ADB101
Hi All.

I am having issues getting the "xml" module to accept what I believe to be 
valid xpaths, it just returns "does not reference a node". I have used an 
online xpath checker (https://www.freeformatter.com/xpath-tester.html) 
which, when I use the target xml file, gives me the correct data. The xml 
file is from an Oracle middleware product so I can't template it and I have 
to make the config changes directly in the xml file.

I can get some xpath's to work correctly, but only in "simple" (?) forms. 
For example:

- name: Check current value
  xml:
file: "{{oam_xml_file}}"
xpath: 
/x:Configuration/Setting[@Name='NGAMConfiguration']/Setting[@Name='DeployedComponent']/Setting[@Name='Agent']/Setting[@Name='WebGate']/Setting[@Name='Instance']/Setting[@Name='APPS_OAM11G']/Setting[@Name='UserDefinedParameters']/Setting[@Name='client_request_retry_attempts']/*
content: text
namespaces:
   x: http://www.w3.org/2001/XMLSchema

fails with "does not reference a node" (but works fine when checked using 
the online xpath checker) but:

- name: Check current value
  xml:
file: "{{oam_xml_file}}"
xpath: //x:Setting[@Name='client_request_retry_attempts']/*
content: text
namespaces:
   x: http://www.w3.org/2001/XMLSchema

returns the value I am expecting. (Note: I could only get the short version 
working by adding the "namespaces" option).

The issue is that I really need the full xpath to work as there are often 
several entries with the same "Name='*tag*'" that are only distinguishable 
by their full path. I have tried even going one level down in the xml, 
using a full path, and I still get "does not reference a node" error 
message.

The original xml is a bit of a beast so I have put a copy here 
rather 
than paste it in.

I'm running Ansible 2.2.1 so I'm using a version of the "xml" module before 
it was bundled with Ansible 2.4. For various reasons I have to stick with 
using version 2.2.1 for the time being so I was hoping someone could either 
inform me how to make full path xpaths work (or tell me that I'm out of 
luck and have to wait until we can upgrade to Ansible 2.4!)

Many thanks,
Aidan

-- 
You received this message because you are subscribed to the Google Groups 
"Ansible Project" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to ansible-project+unsubscr...@googlegroups.com.
To post to this group, send email to ansible-project@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/ansible-project/dbe6e627-390e-483f-8ec5-21263e35d963%40googlegroups.com.
For more options, visit https://groups.google.com/d/optout.