You have to deal with the namespace.

Your xpath is correct except for the wildcard on the namespace prefix, so this 
works:

<@ELEMENTVALUE myDom 
xpath='/*:ABRPayloadSearchResults/*:request/*:identifierSearchRequest/*:authenticationGUID'>

Note that all the elements are in the namespace, so you need to wildcard them 
all.

In simple XML like this, you can just go straight to the element:

<@ELEMENTVALUE myDom xpath='//*:authenticationGUID'>

In the case of this XML, there is a default namespace being setup by this 
portion of the root node:

xmlns="http://abr.business.gov.au/ABRXMLSearchRPC/literalTypes";

Since it's the default (it's unnamed) you use the wildcard *: to look for any 
namespace. TS7 doesn't really have namespace interaction, so it's best to do 
that for everything. In theory, a named namespace and a prefixed element should 
work in TS xpath.

So, if you don't want to bother with the wildcards, you can @REPLACE that 
portion of the root element with nothing before you @DOM the XML, then your 
xpaths would work as you originally had them.

Robert

-----Original Message-----
From: Wayne Irvine [mailto:wa...@byteserve.com.au]
Sent: Saturday, September 17, 2016 8:29 PM
To: TeraScript-Talk@terascript.com
Subject: TeraScript-Talk: Requesting a bit of ELEMENTVALUE help

I have a webcall that returns some XML.

<?xml version="1.0" encoding="utf-8"?>
<ABRPayloadSearchResults xmlns:xsd="http://www.w3.org/2001/XMLSchema"; 
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xmlns="http://abr.business.gov.au/ABRXMLSearchRPC/literalTypes";>
  <request>
    <identifierSearchRequest>
      
<authenticationGUID>dd9afbd8-969d-4f7d-aa02-3f742abba131</authenticationGUID>
      <identifierType>ABN</identifierType>
      <identifierValue>95151285933</identifierValue>
      <history>N</history>
    </identifierSearchRequest>
  </request>
</ABRPayloadSearchResults>

I can return a value via XPOINTER.

<@ASSIGN NAME=“GUID" SCOPE="user" VALUE="<@VAR NAME='MyDom' 
XPOINTER='root().child(1).child(1).child(1)'>">
@@GUID

returns: dd9afbd8-969d-4f7d-aa02-3f742abba131

But can’t work out the ELEMENTVALUE path to return same:

<@ELEMENTVALUE myDom 
xpath='/ABRPayloadSearchResults/request/identifierSearchRequest/authenticationGUID’>

returns nothing.

I’m sure it’s something simple (it always is) but it’s got me stumped.

Any help would be appreciated.

Wayne

Byteserve Pty Ltd
w: http://www.byteserve.com.au/
e: i...@byteserve.com.au
p: +61 02 9960 6099
m: 0409 960 609
f: +61 02 9960 6088




----------------------------------------

To unsubscribe from this list, please send an email to lists...@terascript.com 
with "unsubscribe terascript-talk" in the body.




----------------------------------------

To unsubscribe from this list, please send an email to lists...@terascript.com 
with "unsubscribe terascript-talk" in the body.

Reply via email to