XPath Property

Provides a way to point to a specific segment in the document.

Syntax

ANSI (Cross Platform)
char* GetXPath();
int SetXPath(const char* lpszXPath); Unicode (Windows) LPWSTR GetXPath();
INT SetXPath(LPCWSTR lpszXPath);
@property (nonatomic,readwrite,assign,getter=XPath,setter=setXPath:) NSString* XPath;
- (NSString*)XPath;
- (void)setXPath:(NSString*)newXPath;
#define PID_VDAREADER_XPATH 24

IPWORKSEDI_EXTERNAL void* IPWORKSEDI_CALL IPWorksEDI_VDAReader_Get(void *lpObj, int propid, int arridx, int *lpcbVal, int64 *lpllVal);
IPWORKSEDI_EXTERNAL int IPWORKSEDI_CALL IPWorksEDI_VDAReader_Set(void *lpObj, int propid, int arridx, const void *val, int cbVal);

Default Value

""

Remarks

The path is a series of one or more segment accessors separated by '/'. The path can be absolute (starting with '/') or relative to the current XPath location.

The following are possible values for an element accessor:

IXRefers to the Interchange (root) node
FGRefers to a Functional Group node
TXRefers to a Transaction Set node
'name'The first segment or loop of the current container with the given schema name
name[i]The i-th segment of the current container with the given schema-name
[i]The i-th segment of the current container
[last()]The last segment of the current container
[last()-i]The segment located at the last location minus i in the current container
..The parent of the current container

When XPath is set to a valid path, XSegment points to the name of the segment, with XTag, XSegmentType, and XChildren providing other properties of the segment. The elements of the current segment are provided in the XElements properties.

BuildDOM must be set to bdEntireDocument or bdTransaction prior to parsing the document for the XPath functionality to be available.

Example (Setting XPath)

Document root (Interchange)EDIReaderControl.XPath = "/"
N1 segment in the first transactionEDIReaderControl.XPath = "/IX/FG/TX/N1Loop1/N1"
3-th instance of the N2 segmentEDIReaderControl.XPath = "/IX/FG/TX/N1Loop1/N2[3]"

Data Type

String

Copyright (c) 2022 /n software inc. - All rights reserved.
IPWorks EDI 2020 C++ Edition - Version 20.0 [Build 8162]