Class EnumerationFacetSet

java.lang.Object
com.saxonica.ee.schema.Facet
com.saxonica.ee.schema.EnumerationFacetSet

public class EnumerationFacetSet extends Facet
Represents the set of enumeration values defined on a single simple type, This is a "virtual" facet that combines all the enumeration facets in one simple type definition.
  • Constructor Details

    • EnumerationFacetSet

      public EnumerationFacetSet()
  • Method Details

    • getName

      public String getName()
      The name of this facet.
      Specified by:
      getName in class Facet
      Returns:
      "enumeration"
    • getStringValues

      public List<String> getStringValues()
      Get the enumeration values, as strings
      Returns:
      the list of strings in the enumeration facets
    • addEnumerationValue

      public void addEnumerationValue(AtomicSequence val, String stringValue)
      Add a permitted value to the set of enumeration values. For internal use only.
      Parameters:
      val - the value to be added. This must be an atomic value or a sequence of atomic values.
      stringValue - the string value of the facet as written
    • getValue

      public UnicodeString getValue()
      Get a string representation of the value of the facet
      Specified by:
      getValue in class Facet
      Returns:
      the concatenation of the enumeration values, comma-separated
    • checkFacetRestriction

      public void checkFacetRestriction(UserSimpleType type, SimpleType base, SchemaCompiler compiler)
      Check that this facet is legal when used on a type derived by restriction
      Overrides:
      checkFacetRestriction in class Facet
      Parameters:
      type - the type on which the facet is defined
      base - the type from which the restricted type is derived
      compiler - the schema compiler
    • testAtomicValue

      public boolean testAtomicValue(AtomicValue value)
      Test whether an atomic value conforms to this facet
      Specified by:
      testAtomicValue in class Facet
      Parameters:
      value - the value to be tested
      Returns:
      true if the value conforms; false if it doesn't conform, or if the test fails
    • testListValue

      public boolean testListValue(AtomicSequence value)
      Test whether a list value conforms to this facet. This is used only for the enumeration facet.
      Overrides:
      testListValue in class Facet
      Parameters:
      value - the value to be tested
      Returns:
      true if the value conforms; false if it doesn't conform, or if the test fails
    • getSharedInstance

      public String getSharedInstance(String value)
      Get an instance of the facet value that is stored in the schema rather than the instance
      Parameters:
      value - the value required
      Returns:
      a string which is equal to the value required, but which if possible is the instance held in the compiled schema, reducing storage requirements in instances.
    • getSharedInstance

      public AtomicSequence getSharedInstance(AtomicSequence value)
      Get an instance of the facet value that is stored in the schema rather than the instance
      Parameters:
      value - the value required
      Returns:
      a string which is equal to the value required, but which if possible is the instance held in the compiled schema, reducing storage requirements in instances.
    • serializeFacet

      public void serializeFacet(SchemaModelSerializer serializer) throws XPathException
      Serialize this facet
      Overrides:
      serializeFacet in class Facet
      Parameters:
      serializer - receives the content for serialization
      Throws:
      XPathException - if an error occurs writing the value to the output
    • getFacetAsFunctionItem

      public FunctionItem getFacetAsFunctionItem()
      Description copied from class: Facet
      Get a function item that represents this Facet schema component.
      Specified by:
      getFacetAsFunctionItem in class Facet