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_NO
Fields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected void
compileContent
(Executable exec, Declaration decl, SimpleNodeConstructor inst, Expression separator) protected abstract String
Get the error code to be returned when the element has a select attribute but is not empty.boolean
Determine whether this node is an instruction.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.boolean
Determine whether this type of element is allowed to contain a template-bodyprotected Expression
Method for use by subclasses (processing-instruction and namespace) that take a name and a select attributevoid
validate
(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, xPath10ModeIsEnabled
Methods 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, setTypeAnnotation
Methods 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, setRawSequenceNumber
Methods 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, setSiblingPosition
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getLineNumber, getSystemId
Methods inherited from interface org.xml.sax.Locator
getColumnNumber, getPublicId
Methods 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:
isInstruction
in 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:
mayContainSequenceConstructor
in classStyleElement
- Returns:
- true: yes, it may contain a template-body
-
validate
Description copied from class:StyleElement
Check 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:
validate
in 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
-