Class TypeAlternative

  • All Implemented Interfaces:
    javax.xml.transform.SourceLocator, Location, SchemaComponent, org.xml.sax.Locator

    public class TypeAlternative
    extends SchemaStructure
    implements SchemaComponent
    A TypeAlternative schema component (See XML Schema 1.1 Part 1 Working Draft)
    • Constructor Detail

      • TypeAlternative

        public TypeAlternative​(EnterpriseConfiguration config,
                               XPathExpression condition,
                               java.lang.String text)
        Create an TypeAlternative component
        Parameters:
        config - the Saxon configuration
        condition - the compiled XPath expression. May be null if no condition was specified (this is allowed on the last alternative)
        text - the original text of the XPath expression. May be null if no condition was specified (this is allowed on the last alternative)
    • Method Detail

      • getCondition

        public XPathExpression getCondition()
        Get the XPath expression used in the test attribute of the alternative. Null represents an absent condition, equivalent to "true()".
        Returns:
        the XPath expression
      • getConditionText

        public java.lang.String getConditionText()
        Get the original text of the condition.
        Returns:
        the original text of the XPath expression. May be null if no condition was specified
      • setDefaultElementNamespace

        public void setDefaultElementNamespace​(java.lang.String namespace)
        Set the default namesapce for elements and types from the static context of the XPath expression
        Parameters:
        namespace - the default namespace for elements and types. The null namespace is represented as ""
      • getDefaultElementNamespace

        public java.lang.String getDefaultElementNamespace()
        Get the default namesapce for elements and types from the static context of the XPath expression
        Returns:
        the default namespace for elements and types. The null namespace is represented as ""
      • setNamespaceContext

        public void setNamespaceContext​(NamespaceResolver resolver)
        Set the namespace context. This is needed to allow the assertion to be serialized, so that the namespace context can be replicated when it is reloaded.
        Parameters:
        resolver - defines the namespace context
      • getNamespaceContext

        public NamespaceResolver getNamespaceContext()
        Get the namespace context for evaluating the XPath expression
        Returns:
        a NamespaceResolver representing the namespace context of the expression
      • setBaseURI

        public void setBaseURI​(java.lang.String baseURI)
        Set the base URI of the XPath expression. This is needed to allow the assertion to be serialized.
        Parameters:
        baseURI - the static base URI of the expression
      • getBaseURI

        public java.lang.String getBaseURI()
        Get the base URI of the XPath expression
        Returns:
        the static base URI of the expression
      • setTypeReference

        public void setTypeReference​(TypeReference type)
        Set the type reference for this alternative
        Parameters:
        type - a reference to the type selected by this alternative
      • getTypeReference

        public TypeReference getTypeReference()
        Get the type reference for this alternative
        Returns:
        the type reference
      • setParameters

        public void setParameters​(java.util.Map<StructuredQName,​XPathVariable> parameters)
        Set the parameters declared for this schema document using the saxon:param extension element
        Parameters:
        parameters - the declared saxon:param parameters in scope for the XPath expression
      • getParameters

        public java.util.Map<StructuredQName,​XPathVariable> getParameters()
        Get the parameters declared for this schema document using the saxon:param extension element
        Returns:
        the declared saxon:param parameters in scope for the XPath expression
      • fixup

        public boolean fixup​(SchemaCompiler compiler)
                      throws SchemaException
        Fixup references from this schema component to others
        Overrides:
        fixup in class SchemaStructure
        Parameters:
        compiler - the SchemaCompiler, used primarily for reporting errors
        Returns:
        true if all references were fixed up successfully, false if dangling references were found
        Throws:
        SchemaException
      • serialize

        public void serialize​(SchemaModelSerializer serializer)
                       throws XPathException
        Serialize the schema component
        Parameters:
        serializer - the object responsible for serialization
        Throws:
        XPathException - if a serialization error occur
      • getComponentAsFunction

        public Function getComponentAsFunction()
        Description copied from interface: SchemaComponent
        Get the schema component in the form of a function item. This allows schema information to be made visible to XSLT or XQuery code. The function makes available the contents of the schema component as defined in the XSD specification. The function takes a string as argument representing a property name, and returns the corresponding property of the schema component. There is also a property "class" which returns the kind of schema component, for example "Attribute Declaration".
        Specified by:
        getComponentAsFunction in interface SchemaComponent
        Returns:
        the schema component represented as a function from property names to property values.