com.saxonica.schema
Class AttributeWildcard

java.lang.Object
  extended bycom.saxonica.schema.SchemaStructure
      extended bycom.saxonica.schema.Wildcard
          extended bycom.saxonica.schema.AttributeWildcard
All Implemented Interfaces:
java.io.Serializable, javax.xml.transform.SourceLocator

public class AttributeWildcard
extends Wildcard

This class represents an xs:anyAttribute element in the schema.

See Also:
Serialized Form

Constructor Summary
AttributeWildcard()
           
 
Method Summary
 boolean isInexpressible()
          Determine whether this wildcard represents an "inexpressible" intersection or union
static AttributeWildcard makeIntersection(AttributeWildcard wat1, AttributeWildcard wat2)
          Create an AttributeWildcard as the intersection of two AttributeWildcards.
static AttributeWildcard makeUnion(AttributeWildcard wat1, AttributeWildcard wat2)
          Create a AttributeWildcard as the union of two AttributeWildcards.
 boolean validate(PreparedSchema schema)
          Validate that this AttributeWildcard obeys the schema consistency rules.
 
Methods inherited from class com.saxonica.schema.Wildcard
addNamespace, allowsAny, getAllowedNamespaces, getDisallowedNamespace, getProcessContents, isIntensionalSubset, matches, setDisallowedNamespace, setNoNamespacesAllowed, setProcessContents, toString
 
Methods inherited from class com.saxonica.schema.SchemaStructure
getColumnNumber, getFixupStatus, getLineNumber, getPublicId, getSchema, getSystemId, getValidationStatus, lookForCycles, setFixupStatus, setLineNumber, setLocator, setSchema, setSystemId, setValidationStatus
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

AttributeWildcard

public AttributeWildcard()
Method Detail

isInexpressible

public boolean isInexpressible()
Determine whether this wildcard represents an "inexpressible" intersection or union

Returns:
true if the intersection or union is inexpressible, as defined in XML Schema. This is essentially an error condition, so the wildcard should not be used if this property is true.

makeIntersection

public static AttributeWildcard makeIntersection(AttributeWildcard wat1,
                                                 AttributeWildcard wat2)
Create an AttributeWildcard as the intersection of two AttributeWildcards. For internal use only.

Parameters:
wat1 - the first operand: the processContents is taken from this operand
wat2 - the second operand
Returns:
a new AttributeWildcard representing the intersection, as defined in Schema Component Constraint: Attribute Wildcard Intersection; if the intersection "is not expressible" this will be flagged as such, for later rejection by the validator.

makeUnion

public static AttributeWildcard makeUnion(AttributeWildcard wat1,
                                          AttributeWildcard wat2)
Create a AttributeWildcard as the union of two AttributeWildcards. For internal use only.

Parameters:
wat1 - the first operand: the processContents is taken from this operand
wat2 - the second operand
Returns:
a new AttributeWildcard representing the intersection, as defined in Schema Component Constraint: Attribute Wildcard Union; if the union "is not expressible" then the result will be marked as such, for later use by the validator.

validate

public boolean validate(PreparedSchema schema)
                 throws SchemaException
Validate that this AttributeWildcard obeys the schema consistency rules. Any errors are notified to the ErrorListener, and result in the method returning false.

Overrides:
validate in class Wildcard
Parameters:
schema - the containing schema (used for error reporting)
Returns:
false if any errors were found, true if everything is OK
Throws:
SchemaException - if the error listener decided to treat the error as fatal.