Class SaxonPreprocess
- All Implemented Interfaces:
Source,SourceLocator,ActiveSource,GroundedValue,Item,MutableNodeInfo,NamespaceResolver,NodeInfo,Sequence,Location,SteppingNode,SiblingCountingNode,Locator
The effect of saxon:preprocess is that the lexical space for a type derived by restriction is no longer
constrained to be a subset of the lexical space for the type that it restricts. For example, a type derived
from xs:decimal can use <saxon:preprocess action="translate($value, ',', '.')"> to convert the input
value "3,14159" to "3.14159", which then validates as an xs:decimal.
More specifically, the saxon:preprocess facet converts the value from the lexical space of a restricted type to the lexical space of its base type. This means that preprocessing may be defined at multiple levels of the type hierarchy; the preprocessing will be performed on the most specific type first.
Note that the pattern facet, if present, applies to the value output by the preprocess facet, not to its input.
-
Nested Class Summary
Nested classes/interfaces inherited from class com.saxonica.ee.schema.sdoc.SchemaElement
SchemaElement.XPathStaticContext -
Field Summary
Fields inherited from class com.saxonica.ee.schema.sdoc.SchemaElement
NAMESPACE_ANY, NAMESPACE_LOCAL, NAMESPACE_OTHER, NAMESPACE_TARGET, REQUIRE_NULL_NS, REQUIRE_TARGET_NS, USE_DEFAULT_NS, USE_DEFAULT_NS_WITHOUT_IMPORTFields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionGet the Assertion schema component corresponding to the action in this saxon:preprocess elementGet the Assertion schema component corresponding to the reverse action in this saxon:preprocess elementprotected voidValidate and process the attributes on this element in the schema documentMethods inherited from class com.saxonica.ee.schema.sdoc.AnnotationParent
validateMethods inherited from class com.saxonica.ee.schema.sdoc.SchemaElement
allocateAnonymousTypeCode, allowAttributes, checkContentModel, checkLocalTargetNamespace, checkMutuallyExclusiveAttributes, checkOnlyChildIsAnnotation, checkPermittedType, duplicate, duplicateElement, error, error, getComponentName, getContainingComplexType, getContainingSimpleType, getFingerprint, getSchema, getSchemaNodeFactory, getXSDSchema, illegalElement, indefiniteArticle, invalidAttributeValue, isFinalState, isTopLevel, makeNamespaceContext, missingAttribute, missingChildElement, mustBeFirstElement, mustPrecede, mutuallyExclusive, mutuallyExclusiveAttributes, mutuallyExclusiveElementAndAttribute, parseBooleanAttribute, parseFinalOrBlock, postValidate, processAllAttributes, processAllowedNamespaces, processDisallowedNamespaces, processDisallowedQNames, processId, processMaxOccurs, processMinOccurs, requireAttribute, setSchemaNodeFactory, validateChildren, validateSubtree, warningMethods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, addNamespace, attributes, checkNotNamespaceSensitiveElement, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getLineNumber, getNodeKind, getNodeName, getRoot, getSchemaType, getSystemId, getURIForPrefix, initialise, isId, isIdref, isIdRefNode, isInScopeNamespace, isNilled, iteratePrefixes, removeAttribute, removeNamespace, removeTypeAnnotation, rename, replaceStringValue, setAttributeInfo, setAttributes, setLocation, setNamespaceMap, setNilled, setNodeName, setSystemId, setTypeAnnotationMethods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl
addChild, compact, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getUnicodeStringValue, hasChildNodes, insertChildren, insertChildrenAt, iterateChildren, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumberMethods inherited from class net.sf.saxon.tree.linked.NodeImpl
atomize, compareOrder, effectiveBooleanValue, equals, getConfiguration, getDisplayName, getFingerprint, getLocalPart, getNamePool, getNamespaceUri, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, hasFingerprint, hashCode, head, insertSiblings, isDeleted, iterateAxis, iterateAxis, newBuilder, replace, saveLocation, setRawParent, setSiblingPositionMethods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materializeMethods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, itemAt, iterate, reduce, subsequenceMethods inherited from interface net.sf.saxon.om.NodeInfo
asActiveSource, children, children, deliver, getAttributeValue, getGenre, getPublicId, getURI, isSameNodeInfo, isStreamed, toShortStringMethods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
SaxonPreprocess
public SaxonPreprocess()Creates a new SaxonPreprocess element
-
-
Method Details
-
prepareAttributes
Validate and process the attributes on this element in the schema document- Specified by:
prepareAttributesin classSchemaElement- Throws:
SchemaException- if any errors are found in the attributes
-
getAction
Get the Assertion schema component corresponding to the action in this saxon:preprocess element- Returns:
- the Assertion schema component
-
getReverseAction
Get the Assertion schema component corresponding to the reverse action in this saxon:preprocess element- Returns:
- the Assertion schema component
-