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, DeclarationImpl, ElementDecl, EmptyImpl, FacetImpl, IdentityConstraintImpl, ListSimpleTypeImpl, ModelGroupDeclImpl, ModelGroupImpl, NotationImpl, ParticleImpl, RestrictionSimpleTypeImpl, SchemaImpl, SchemaSetImpl.AnySimpleType, SchemaSetImpl.AnyType, SimpleTypeImpl, UnionSimpleTypeImpl, WildcardImpl, WildcardImpl.Any, WildcardImpl.Finite, WildcardImpl.Other, XPathImpl
public interface XSComponent
Base interface for all the schema components.
-
Method Summary
Modifier and TypeMethodDescription<T> Tapply(XSFunction<T> function) Accepts a functor.Gets the annotation associated to this component, if any.getAnnotation(boolean createIfNotExist) Works likegetAnnotation(), but allow a new emptyXSAnnotationto be created if not exist.getForeignAttribute(String nsUri, String localName) Gets the foreign attribute of the given name, or null if not found.List<? extends ForeignAttributes> Gets the foreign attributes on this schema component.Gets the locator that indicates the source location where this component is created from, or null if no information is available.Gets a reference to theXSSchemaobject to which this component belongs.getRoot()Gets the root schema set that includes this component.Gets theSchemaDocumentthat indicates which document this component was defined in.select(String scd, NamespaceContext nsContext) Evaluates a schema component designator against this schema component and returns the resulting schema components.selectSingle(String scd, NamespaceContext nsContext) Evaluates a schema component designator against this schema component and returns the first resulting schema component.voidAccepts a visitor.
-
Method Details
-
getAnnotation
XSAnnotation getAnnotation()Gets the annotation associated to this component, if any. -
getAnnotation
Works likegetAnnotation(), but allow a new emptyXSAnnotationto be created if not exist.- Parameters:
createIfNotExist- true to create a newXSAnnotationif 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 eachForeignAttributesobject represent foreign attributes on one element.- Returns:
- can be an empty list but never be null.
-
getForeignAttribute
-
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
-
getRoot
XSSchemaSet getRoot()Gets the root schema set that includes this component.In case of
XSEmptycomponent, this method returns null since there is no owner component. -
getSourceDocument
SchemaDocument getSourceDocument()Gets theSchemaDocumentthat 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
Evaluates a schema component designator against this schema component and returns the resulting schema components.- Parameters:
scd- Schema component designator. SeeSCDfor 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
Evaluates a schema component designator against this schema component and returns the first resulting schema component.- Parameters:
scd- Schema component designator. SeeSCDfor 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
Accepts a visitor. -
apply
Accepts a functor.
-