Structure
XPathResolver
Resolves XPath-style fragment identifiers to object IDs
struct XPathResolver
Overview
XPath resolution handles XMI fragment identifiers like:
-
#//@members.0- Navigate to first member from root -
#//Person.0/@children.2- Navigate through multiple containment levels -
#/0/@children.1- Index-based navigation
XPath Fragment Format
XMI uses a simplified XPath syntax for same-resource references:
-
#- Same resource reference indicator -
//- Navigate from root object -
@feature- Navigate through containment feature named “feature” -
.index- Array index for multi-valued features -
/- Path separator for nested navigation
Example
let resolver = XPathResolver(resource: resource)
if let memberId = await resolver.resolve("#//@members.0") {
let member = await resource.resolve(memberId)
}
Topics
Initializers
?
init(resource:)
Initialise an XPath resolver for a specific resource
Instance Methods
F
resolve(_:)
Resolve an XPath expression to an object ID
F
resolveObject(_:)
Resolve XPath to object directly (convenience method)