public abstract class SCD extends Object
SCD for schema is what XPath is for XML. SCD allows you to select a schema component(s) from a schema component(s).
See XML Schema: Component Designators. This implementation is based on 03/29/2005 working draft.
Constructor and Description |
---|
SCD() |
Modifier and Type | Method and Description |
---|---|
static SCD |
create(String path,
NamespaceContext nsContext)
Parses the string representation of SCD.
|
Collection<XSComponent> |
select(Collection<? extends XSComponent> contextNodes)
Evaluates the SCD against the given set of context nodes and
returns the matched nodes.
|
abstract Iterator<XSComponent> |
select(Iterator<? extends XSComponent> contextNodes)
Evaluates the SCD against the given set of context nodes and
returns the matched nodes.
|
Collection<XSComponent> |
select(XSComponent contextNode)
Evaluates the SCD against the given context node and
returns the matched nodes.
|
Collection<XSComponent> |
select(XSSchemaSet contextNode)
Evaluates the SCD against the whole schema and
returns the matched nodes.
|
XSComponent |
selectSingle(XSComponent contextNode)
Evaluates the SCD against the given context node and
returns the matched node.
|
XSComponent |
selectSingle(XSSchemaSet contextNode)
Evaluates the SCD against the whole schema set and
returns the matched node.
|
abstract String |
toString()
Returns the textual SCD representation as given to
create(String, NamespaceContext) . |
public static SCD create(String path, NamespaceContext nsContext) throws ParseException
This method involves parsing the path expression and preparing the in-memory structure, so this is useful when you plan to use the same SCD against different context node multiple times.
If you want to evaluate SCD just once, use XSComponent.select(java.lang.String, javax.xml.namespace.NamespaceContext)
methods.
path
- the string representation of SCD, such as "/foo/bar".nsContext
- Its NamespaceContext.getNamespaceURI(String)
is used
to resolve prefixes in the SCD to the namespace URI.ParseException
public final Collection<XSComponent> select(XSComponent contextNode)
public final Collection<XSComponent> select(XSSchemaSet contextNode)
This method is here because XSSchemaSet
doesn't implement XSComponent
.
public final XSComponent selectSingle(XSComponent contextNode)
public final XSComponent selectSingle(XSSchemaSet contextNode)
public abstract Iterator<XSComponent> select(Iterator<? extends XSComponent> contextNodes)
contextNodes
- XSComponent
s that represent the context node against
which SCD
is evaluated.public final Collection<XSComponent> select(Collection<? extends XSComponent> contextNodes)
contextNodes
- XSComponent
s that represent the context node against
which SCD
is evaluated.public abstract String toString()
create(String, NamespaceContext)
.Copyright © 2021 JBoss by Red Hat. All rights reserved.