Last updated: 2018-11-20

What XPath expressions are allowed for use with Search Field Expressions?

The Logging Service extracts Search Field Values from Search Fields using configured Search Field Expressions. XML Messages can be very large and Nodinite XPath Search Field Expression plugins all uses a read-only, forward-only stream reader in order to be able to process even large messages. This means that all XPath expressions can't be used and the table below lists some that are valid and that you can expect to work for your use case.

graph LR subgraph MessageType Example roMTPurchaseOrder(fal:fa-file Papinet.PurchaseOrder/2.31) end subgraph XPath Search Field Expression roSFEOrderIdFromXML(fal:fa-flask XPath) end subgraph Search Field Example roSFOrderId(fal:fa-search-plus Order Number) end roMTPurchaseOrder --- roSFEOrderIdFromXML roSFEOrderIdFromXML --- roSFOrderId
Expression Message Output
/e <e>1</e> 1
child::node() <e>1</e> 1
e/child::node() <e>1</e> 1
e/a/child::text() <e>
<a>1</a>
<b>2</b>
</e>
1
e/a[@name='A']/child::text() <e>
<a name="A">1</a>
<a name="B">2</a>
</e>
1
e/a/@name <e>
<a name="A">1</a>
<a name="B">2</a>
</e>
A
B
e/a/attribute::* <e>
<a name="A">1</a>
<a name="B">2</a>
</e>
A
B
Make sure to perform successful tests using the Web Client and the Test Tab before you start a re-index operation
___

Next Step

Expression Type
Flat File Fixed Width
Message Context Key
RegEx
XPath