- 3 minutes to read

Allowed XPath expressions for Search Field Expressions

Nodinite enables you to extract business-critical data from massive XML payloads with high performance and scalability. This page explains which XPath expressions are supported for Search Field Expressions, so you can confidently build robust, efficient integrations.

✅ Process even the largest XML messages without loading the entire file into memory
✅ Achieve high throughput and low resource consumption for enterprise-scale integration
✅ Use only forward-only, stream-compatible XPath expressions for maximum performance


What You Will Learn

  • Which XPath expressions are allowed in Nodinite Search Field Expressions
  • Best practices for building scalable, high-performance integrations
  • How to avoid common pitfalls and troubleshoot XPath limitations

Overview: Forward-Only XPath for Performance

The Logging Service extracts Search Field values from Search Fields using configured Search Field Expressions. XML messages can be extremely large, and Nodinite XPath plugins use a read-only, forward-only stream reader to efficiently process even the largest messages. This design ensures high performance and scalability for enterprise integration scenarios, but it also means that not all XPath expressions are supported. Only expressions compatible with forward-only reading are allowed.

Why Nodinite?
Nodinite empowers you to extract business-critical data from massive XML payloads without loading the entire document into memory, reducing resource consumption and boosting throughput. This is a unique selling point for organizations handling high-volume, complex integrations.

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-magnifying-glass-plus Order Number) end roMTPurchaseOrder --- roSFEOrderIdFromXML roSFEOrderIdFromXML --- roSFOrderId

Diagram: How Message Types, XPath Search Field Expressions, and Search Fields connect in Nodinite.


Allowed XPath Expressions: Examples

The following table lists valid XPath expressions you can rely on for your use cases. All examples are compatible with Nodinite's forward-only stream reader.

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

Tip

Always test your XPath expressions using the Web Client and the Test Tab before starting a re-index operation.

Important

Be cautious with your XPath expressions when using XPathReader. It is limited to the capabilities of the underlying XmlTextReader, which can only move forward through the stream. Expressions that require backward navigation (such as parent::node()) will throw an exception. Despite these limitations, Nodinite enables you to evaluate XPath expressions efficiently, even for very large XML documents, without the overhead of loading the entire file into memory.


Next Step

Expression Type
Flat File Fixed Width
Message Context Key
RegEx
XPath