Package com.sun.xml.xsom
Interface XSComponent
-
- All Known Subinterfaces:
ContentTypeImpl
,XSAttContainer
,XSAttGroupDecl
,XSAttributeDecl
,XSAttributeUse
,XSComplexType
,XSContentType
,XSDeclaration
,XSElementDecl
,XSFacet
,XSIdentityConstraint
,XSListSimpleType
,XSModelGroup
,XSModelGroupDecl
,XSNotation
,XSParticle
,XSRestrictionSimpleType
,XSSchema
,XSSimpleType
,XSTerm
,XSType
,XSUnionSimpleType
,XSWildcard
,XSWildcard.Any
,XSWildcard.Other
,XSWildcard.Union
,XSXPath
- All Known Implementing Classes:
AttGroupDeclImpl
,AttributeDeclImpl
,AttributesHolder
,AttributeUseImpl
,ComplexTypeImpl
,ComponentImpl
,ElementDecl
,EmptyImpl
,FacetImpl
,IdentityConstraintImpl
,ListSimpleTypeImpl
,ModelGroupDeclImpl
,ModelGroupImpl
,NotationImpl
,ParticleImpl
,RestrictionSimpleTypeImpl
,SchemaImpl
,SimpleTypeImpl
,UnionSimpleTypeImpl
,WildcardImpl
,WildcardImpl.Any
,WildcardImpl.Finite
,WildcardImpl.Other
,XPathImpl
public interface XSComponent
Base interface for all the schema components.- Author:
- Kohsuke Kawaguchi ([email protected])
-
-
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description <T> T
apply(XSFunction<T> function)
Accepts a functor.XSAnnotation
getAnnotation()
Gets the annotation associated to this component, if any.XSAnnotation
getAnnotation(boolean createIfNotExist)
Works likegetAnnotation()
, but allow a new emptyXSAnnotation
to be created if not exist.String
getForeignAttribute(String nsUri, String localName)
Gets the foreign attribute of the given name, or null if not found.List<? extends ForeignAttributes>
getForeignAttributes()
Gets the foreign attributes on this schema component.Locator
getLocator()
Gets the locator that indicates the source location where this component is created from, or null if no information is available.XSSchema
getOwnerSchema()
Gets a reference to theXSSchema
object to which this component belongs.XSSchemaSet
getRoot()
Gets the root schema set that includes this component.SchemaDocument
getSourceDocument()
Gets theSchemaDocument
that indicates which document this component was defined in.Collection<XSComponent>
select(String scd, NamespaceContext nsContext)
Evaluates a schema component designator against this schema component and returns the resulting schema components.XSComponent
selectSingle(String scd, NamespaceContext nsContext)
Evaluates a schema component designator against this schema component and returns the first resulting schema component.void
visit(XSVisitor visitor)
Accepts a visitor.
-
-
-
Method Detail
-
getAnnotation
XSAnnotation getAnnotation()
Gets the annotation associated to this component, if any.
-
getAnnotation
XSAnnotation getAnnotation(boolean createIfNotExist)
Works likegetAnnotation()
, but allow a new emptyXSAnnotation
to be created if not exist.- Parameters:
createIfNotExist
- true to create a newXSAnnotation
if it doesn't exist already. false to make this method behavel likegetAnnotation()
.- Returns:
- null if
createIfNotExist==false
and annotation didn't exist. Otherwise non-null.
-
getForeignAttributes
List<? extends ForeignAttributes> getForeignAttributes()
Gets the foreign attributes on this schema component.In general, a schema component may match multiple elements in a schema document, and those elements can individually carry foreign attributes.
This method returns a list of
ForeignAttributes
, where eachForeignAttributes
object represent foreign attributes on one element.- Returns:
- can be an empty list but never be null.
-
getForeignAttribute
String getForeignAttribute(String nsUri, String localName)
Gets the foreign attribute of the given name, or null if not found.If multiple occurences of the same attribute is found, this method returns the first one.
- See Also:
getForeignAttributes()
-
getLocator
Locator getLocator()
Gets the locator that indicates the source location where this component is created from, or null if no information is available.
-
getOwnerSchema
XSSchema getOwnerSchema()
Gets a reference to theXSSchema
object to which this component belongs.In case of
XSEmpty
component, this method returns null since there is no owner component.
-
getRoot
XSSchemaSet getRoot()
Gets the root schema set that includes this component.In case of
XSEmpty
component, this method returns null since there is no owner component.
-
getSourceDocument
SchemaDocument getSourceDocument()
Gets theSchemaDocument
that indicates which document this component was defined in.- Returns:
- null for components that are built-in to XML Schema, such
as anyType, or "empty"
XSContentType
. This method also returns null forXSSchema
. For all other user-defined components this method returns non-null, even if they are local.
-
select
Collection<XSComponent> select(String scd, NamespaceContext nsContext)
Evaluates a schema component designator against this schema component and returns the resulting schema components.- Parameters:
scd
- Schema component designator. SeeSCD
for more details.nsContext
- The namespace context in which SCD is evaluated. Cannot be null.- Returns:
- Can be empty but never null.
- Throws:
IllegalArgumentException
- if SCD is syntactically incorrect.
-
selectSingle
XSComponent selectSingle(String scd, NamespaceContext nsContext)
Evaluates a schema component designator against this schema component and returns the first resulting schema component.- Parameters:
scd
- Schema component designator. SeeSCD
for more details.nsContext
- The namespace context in which SCD is evaluated. Cannot be null.- Returns:
- null if the SCD didn't match anything. If the SCD matched more than one node, the first one will be returned.
- Throws:
IllegalArgumentException
- if SCD is syntactically incorrect.
-
visit
void visit(XSVisitor visitor)
Accepts a visitor.
-
apply
<T> T apply(XSFunction<T> function)
Accepts a functor.
-
-