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:
Source,SourceLocator,ActiveSource,GroundedValue,Item,MutableNodeInfo,NamespaceResolver,NodeInfo,Sequence,Location,SteppingNode,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
-
Nested Class Summary
Nested classes/interfaces inherited from class net.sf.saxon.style.StyleElement
StyleElement.OnFailure -
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, defaultMode, defaultXPathNamespace, expandText, extensionNamespaces, reportingCircumstances, staticContext, validationError, version, YES_NOFields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprotected voidcompileContent(Compilation exec, ComponentDeclaration 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, StaticContext env) 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.protected 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(ComponentDeclaration decl) Check that the stylesheet element is valid.Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocation, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compile, compileDeclaration, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, compileWarning, fixupReferences, generateId, getAttributeValue, getBaseURI, getBindingInformation, getCompilation, getConfiguration, getContainingPackage, getContainingSlotManager, getDeclaredVisibility, getDefaultCollationName, getDefaultXPathNamespace, getNamespaceResolver, getObjectName, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getVisibility, getWithParamInstructions, getXslOriginal, hasImplicitBinding, index, invalidAttribute, isDeclaration, isExtensionAttributeAllowed, isExtensionNamespace, isInXsltNamespace, isNo, isPermittedChild, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, isYes, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, mapToSequence, markTailCalls, mayContainFallback, mayContainParam, postValidate, prepareAttributes, processAllAttributes, processAttributes, processBooleanAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, requireXslt40Attribute, requireXslt40Element, seesAvuncularVariables, setCompilation, setInstructionLocation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateChildren, validateSubtree, validateValidationAttributeMethods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, addNamespace, attributes, checkNotNamespaceSensitiveElement, copy, delete, fixupInsertedNamespaces, generateId, getAllNamespaces, getAttributeValue, 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, 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
-
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
-
isInstruction
public boolean isInstruction()Determine whether this node is an instruction.- Overrides:
isInstructionin classStyleElement- Returns:
- true - it is an instruction
-
mayContainSequenceConstructor
protected 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(Compilation exec, ComponentDeclaration decl, SimpleNodeConstructor inst, Expression separator) throws XPathException - Throws:
XPathException
-
makeSimpleContentConstructor
public static Expression makeSimpleContentConstructor(Expression select, Expression separator, StaticContext env) 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 separatorenv- the static context- Returns:
- an expression that returns a string containing the string value of the constructed node
-