This category comprises all function that may be used for primary retrieval elements from the underlying Data Source Model (DSM).

Currently, DocFlex offers the following different ways for searching/collecting elements in the DSM:

By element IDs

You can obtain one or more element IDs (i.e. element unique identifiers; see GOMElement.id for more details) as values of some attributes of other elements. Further, you can retrieve from the DSM the elements associated with those IDs using one of the following functions:

findElementById(), findElementsById()

By Location Paths / Location Rules

This is probably the most powerful way available in DocFlex to find and collect elements in the data source.

The Location Paths are the expressions similar to XPath. The following function work with them:

findElementByLPath(), findElementsByLPath(), countElementsByLPath()

The Location Rules are special declarations that allow to specify the recurrent interpretation of multiple interacted Location Paths. This makes possible to retrieve from the data source the collections of elements that satisfy very complex and sophisticated criteria. The following function allow using this:

findElementsByLRules(), LocationRule()

The element's children

The functions provide the direct access to the children of a particular element:

findChild(), hasChild(), findChildren(), countChildren()

These functions actually overlaps searching by Location Paths. However, they are implemented in different way and work much faster. This is important, since accessing element's children may be a rather frequent operation.

The element's predecessors

This is another way of retrieving elements, which is somewhat opposite to accessing element's children.

The element's predecessors are other elements by which the given element has been reached as it was searched in the data source (DSM). See descriptions of GOMElement.predecessor and GOMElement.predecessors properties for more details.

This group includes the following functions:

findPredecessorByType(), getPredecessorsUntilType(), getPredecessorsUntilId()