## com.saxonica.schema
Class PreprocessFacet

    java.lang.Object
      com.saxonica.schema.Facet
          com.saxonica.schema.PreprocessFacet

All Implemented Interfaces:
  Serializable

    public class PreprocessFacet

extends Facet

Represents the preprocess facet on a schema-defined simple type. This is a pre-lexical facet defined as a Saxon extension to XML Schema 1.1: it allows an XPath expression to be used to convert the value as written (after whitespace normalization) to a different form, which is then validated using the constraining facets. For example the preprocessing action translate($value, ',', '.') allows the input value 3,14159 to be converted to 3.14159 which then validates as a double.

See Also:
  Serialized Form

Constructor Summary
`PreprocessFacet()`
`PreprocessFacet(Assertion action, Assertion reverseAction)`

Method Summary
`void` `checkFacetRestriction(UserSimpleType type, SimpleType base, SchemaCompiler compiler)` Check that this facet is legal when used on a type derived by restriction
`Assertion` `getAction()` Get the XPath expression representing the action performed by this facet, represented as an Assertion object
`String` `getName()` Returns the name of this Facet
`Assertion` `getReverseAction()` Get the XPath expression representing the reverse action performed by this facet, represented as an Assertion object
`String` `getValue()` Returns the lexical representation of this facet
`boolean` `isConstraining()` Ask whether this is a constraining facet (as distinct from a pre-lexical facet)
`CharSequence` `postprocess(CharSequence input)` Apply the postprocessing defined by this facet
`CharSequence` `preprocess(CharSequence input)` Apply the preprocessing defined by this facet
`void` `serializeFacet(SchemaModelSerializer serializer)` Serialize this facet
`void` `setAction(Assertion action)` Set the XPath expression representing the action performed by this facet, represented as an Assertion object
`void` `setReverseAction(Assertion action)` Set the XPath expression representing the reverse action performed by this facet, represented as an Assertion object
`boolean` `testAtomicValue(AtomicValue value)` Test whether an atomic value conforms to this facet

Methods inherited from class com.saxonica.schema.Facet
`getMessage, getWhitespaceAction, isFacetName, isFixed, isNewlyIntroduced, makeFacet, setFixed, setMessage, testLength, testListValue, toLong`

Methods inherited from class java.lang.Object
`clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

Constructor Detail

### PreprocessFacet

    public PreprocessFacet()

### PreprocessFacet

    public PreprocessFacet(Assertion action,
                           Assertion reverseAction)

Method Detail

### isConstraining

    public boolean isConstraining()

  Ask whether this is a constraining facet (as distinct from a pre-lexical facet)

  Overrides:
    `isConstraining` in class `Facet`
  Returns:
    true if this is a constraining facet

### getName

    public String getName()

  Description copied from class: `Facet`
  Returns the name of this Facet

  Specified by:
    `getName` in class `Facet`
  Returns:
    the name of this Facet

### getValue

    public String getValue()

  Returns the lexical representation of this facet

  Specified by:
    `getValue` in class `Facet`
  Returns:
    the value of this facet

### getAction

    public Assertion getAction()

  Get the XPath expression representing the action performed by this facet, represented as an Assertion object

### getReverseAction

    public Assertion getReverseAction()

  Get the XPath expression representing the reverse action performed by this facet, represented as an Assertion object

### setAction

    public void setAction(Assertion action)

  Set the XPath expression representing the action performed by this facet, represented as an Assertion object

### setReverseAction

    public void setReverseAction(Assertion action)

  Set the XPath expression representing the reverse action performed by this facet, represented as an Assertion object

### checkFacetRestriction

    public void checkFacetRestriction(UserSimpleType type,
                                      SimpleType base,
                                      SchemaCompiler compiler)
                               throws SchemaException,
                                      ValidationException

  Check that this facet is legal when used on a type derived by restriction

  Overrides:
    `checkFacetRestriction` in class `Facet`
  Parameters:
    `base` - the type from which the restricted type is derived
    `compiler` -
    `type` - the type on which the facet is defined
  Throws:
    `SchemaException` - if the facet is not legal
    `ValidationException`

### preprocess

    public CharSequence preprocess(CharSequence input)
                            throws ValidationException

  Apply the preprocessing defined by this facet

  Parameters:
    `input` - the lexical value, after whitespace normalization, to be converted
  Returns:
    the value after preprocessing using the XPath expression defined in this facet
  Throws:
    `ValidationException`

### postprocess

    public CharSequence postprocess(CharSequence input)
                             throws ValidationException

  Apply the postprocessing defined by this facet

  Parameters:
    `input` - the lexical value to be converted
  Returns:
    the value after postprocessing using the reverse XPath expression defined in this facet
  Throws:
    `ValidationException`

### 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

### serializeFacet

    public void serializeFacet(SchemaModelSerializer serializer)
                        throws XPathException

  Description copied from class: `Facet`
  Serialize this facet

  Overrides:
    `serializeFacet` in class `Facet`
  Parameters:
    `serializer` - receives the content for serialization
  Throws:
    `XPathException`

Copyright (c) 2004-2010 Saxonica Limited. All rights reserved.