Parse the specified input data.
public func parse() throws -> Void
During parsing the following events may fire:
EDIReader.XPath = "/IX/FG/TX/N1Loop1/N1";This example path means the following: Select the first N1 segment within the first iteration of the N1Loop1, within second transaction in the first functional group and interchange.
You can also make use of XPath conditional statements to locate the first element which matches a name=value. For example, you could use the following XPath to locate the path of the first element within any N1Loop1 that has a name=N101 and value=BT:
EDIReader.XPath = "IX/FG/TX/N1Loop1[N101='BT']";
Note that the conditional statements will search the children, but not the grand children of the element on which the conditional statement is applied. For instance in the above example the children of N1Loop1 will be searched, but the grandchildren will not.
Additionally if the schema loaded is a ArcESB JSON schema the element Id (from the schema) can be used in the conditional statement. For instance instead of N101 the following is also acceptable:
EDIReader.XPath = "IX/FG/TX/N1Loop1[98='BT']";
The class will determine the source of the input based on which properties are set.
The order in which the input properties are checked is as follows:
Since the class can be used to parse EDI data fragments, the internal buffer will not be cleared until Reset is called. If you plan to use this method to parse multiple complete EDI documents be sure to call Reset between calls.