Domain Path Syntax
Updated: July 2008
Domain-Specific Language Tools uses an XPath-like syntax to locate specific elements in a model. It takes the following form:
The syntax traverses the tree of the model. For example, the domain relationship CommentReferencesSubjects in the illustration above has a Subjects role. The path segment /!Subjectt specifies that the path finishes on elements accessed through the Subjects role.
Each segment starts with the name of a domain relationship. If the traversal is from an element to a relationship, the path segment appears as Relationship.PropertyName. If the hop is from a link to an element, the path segment appears as Relationship/!RoleName.
Slashes separate the syntax of a path. Each path segment is either a hop from an element to a link (an instance of a relationship) or from a link to an element. Path segments frequently appear in pairs. One path segment represents a hop from an element to a link, and the next segment represents a hop from the link to the element at the other end. (Any link can also be the source or target of a relationship itself).
The name that you use for the element-to-link hop is the value of the role's Property Name. The name that you use for the link-to-element hop is the target role name.