Package net.sf.saxon.style
Class XSLLeafNodeConstructor
java.lang.Object
net.sf.saxon.tree.linked.NodeImpl
net.sf.saxon.tree.linked.ParentNodeImpl
net.sf.saxon.tree.linked.ElementImpl
net.sf.saxon.style.StyleElement
net.sf.saxon.style.XSLLeafNodeConstructor
- All Implemented Interfaces:
Serializable,Source,SourceLocator,LocationProvider,SaxonLocator,PullEvent,Container,FingerprintedNode,Item<NodeInfo>,MutableNodeInfo,NamespaceResolver,NodeInfo,ValueRepresentation<NodeInfo>,InstructionInfo,SiblingCountingNode,Locator
- Direct Known Subclasses:
XSLAttribute,XSLComment,XSLNamespace,XSLProcessingInstruction,XSLText,XSLValueOf
Common superclass for XSLT elements whose content template produces a text
value: xsl:text, xsl:value-of, xsl:attribute, xsl:comment, xsl:namespace, and xsl:processing-instruction
- See Also:
-
Field Summary
FieldsFields inherited from class net.sf.saxon.style.StyleElement
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version, YES_NOFields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTERFields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACESFields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcompileContent(Executable exec, Declaration decl, SimpleNodeConstructor inst, Expression separator) protected abstract StringGet the error code to be returned when the element has a select attribute but is not empty.booleanDetermine whether this node is an instruction.static ExpressionmakeSimpleContentConstructor(Expression select, Expression separator, Configuration config) Construct an expression that implements the rules of "constructing simple content": given an expression to select the base sequence, and an expression to compute the separator, build an (unoptimized) expression to produce the value of the node as a string.booleanDetermine whether this type of element is allowed to contain a template-bodyprotected ExpressionMethod for use by subclasses (processing-instruction and namespace) that take a name and a select attributevoidvalidate(Declaration decl) Check that the stylesheet element is valid.Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, bindLocalVariable, bindVariable, checkAttributeValue, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, compile, compileDeclaration, compileError, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getConstructType, getContainerGranularity, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getEffectiveVersion, getExecutable, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getPreparedStylesheet, getPrincipalStylesheetModule, getProcessorVersion, getProperties, getProperty, getReturnedItemType, getSchemaType, getStaticContext, getSystemId, getTypeAnnotation, getWithParamInstructions, index, isActionCompleted, isDeclaration, isExcludedNamespace, isExplaining, isExtensionNamespace, isPermittedChild, issueWarning, issueWarning, isTopLevel, isXslt30Processor, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainParam, postValidate, prepareAttributes, processAllAttributes, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, seesAvuncularVariables, setActionCompleted, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree, xPath10ModeIsEnabledMethods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNamespaceList, getNodeKind, getPrefixForURI, getRoot, getSchemaType, getSystemId, getTypeAnnotation, getURIForPrefix, gsetAttributeCollection, initialise, isId, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setAttributeList, setLocation, setNameCode, setNamespaceDeclarations, setNamespaceList, setSystemId, setTypeAnnotationMethods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumberMethods inherited from class net.sf.saxon.tree.linked.NodeImpl
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRawParent, getSiblingPosition, getTypedValue, getURI, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace, setRawParent, setSiblingPositionMethods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface net.sf.saxon.trace.InstructionInfo
getLineNumber, getSystemIdMethods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicIdMethods inherited from interface javax.xml.transform.SourceLocator
getColumnNumber, getLineNumber, getPublicId, getSystemId
-
Field Details
-
select
-
-
Constructor Details
-
XSLLeafNodeConstructor
public XSLLeafNodeConstructor()
-
-
Method Details
-
prepareAttributesNameAndSelect
Method for use by subclasses (processing-instruction and namespace) that take a name and a select attribute- Returns:
- the expression defining the name attribute
- Throws:
XPathException- if an error is detected
-
isInstruction
public boolean isInstruction()Determine whether this node is an instruction.- Overrides:
isInstructionin classStyleElement- Returns:
- true - it is an instruction
-
mayContainSequenceConstructor
public boolean mayContainSequenceConstructor()Determine whether this type of element is allowed to contain a template-body- Overrides:
mayContainSequenceConstructorin classStyleElement- Returns:
- true: yes, it may contain a template-body
-
validate
Description copied from class:StyleElementCheck that the stylesheet element is valid. This is called once for each element, after the entire tree has been built. As well as validation, it can perform first-time initialisation. The default implementation does nothing; it is normally overriden in subclasses.- Overrides:
validatein classStyleElement- Parameters:
decl- the declaration to be validated- Throws:
XPathException- if any error is found during validation
-
getErrorCodeForSelectPlusContent
Get the error code to be returned when the element has a select attribute but is not empty.- Returns:
- the error code defined for this condition, for this particular instruction
-
compileContent
protected void compileContent(Executable exec, Declaration decl, SimpleNodeConstructor inst, Expression separator) throws XPathException - Throws:
XPathException
-
makeSimpleContentConstructor
public static Expression makeSimpleContentConstructor(Expression select, Expression separator, Configuration config) Construct an expression that implements the rules of "constructing simple content": given an expression to select the base sequence, and an expression to compute the separator, build an (unoptimized) expression to produce the value of the node as a string.- Parameters:
select- the expression that selects the base sequenceseparator- the expression that computes the separatorconfig- the Saxon configuration- Returns:
- an expression that returns a string containing the string value of the constructed node
-