Package net.sf.saxon.style
Class LiteralResultElement
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.LiteralResultElement
- All Implemented Interfaces:
Source
,SourceLocator
,ActiveSource
,GroundedValue
,Item
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,Sequence
,Location
,SteppingNode
,SiblingCountingNode
,Locator
This class represents a literal result element in the style sheet
(typically an HTML element to be output).
It is also used to represent unknown top-level elements, which are ignored.
It is also used to represent unknown top-level elements, which are ignored.
-
Nested Class Summary
Nested classes/interfaces inherited from class net.sf.saxon.style.StyleElement
StyleElement.OnFailure
-
Field Summary
Fields 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_NO
Fields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptioncompile
(Compilation exec, ComponentDeclaration decl) Compile code to process the literal result element at runtimeGet a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.boolean
Specify that this is an instructionboolean
Ask whether the element is in the XSLT namespacemakeStylesheet
(boolean topLevel) Make a top-level literal result element into a stylesheet.protected boolean
Determine whether this type of element is allowed to contain a sequence constructorprotected void
Process the attribute listvoid
processStandardAttributes
(NamespaceUri namespace) Process the standard attributes such as[xsl:]expand-text
.void
validate
(ComponentDeclaration decl) Validate that this node is OKprotected void
validateChildren
(ComponentDeclaration decl, boolean excludeStylesheet) Validate the children of this node, recursively.Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocation, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, 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, getPackageData, getPrincipalStylesheetModule, getProperties, getSchemaType, getStaticContext, getStaticContext, getTypeAnnotation, getUsedPackage, getVisibility, getWithParamInstructions, getXslOriginal, hasImplicitBinding, index, invalidAttribute, isDeclaration, isExtensionAttributeAllowed, isExtensionNamespace, isNo, isPermittedChild, isSchemaAware, issueWarning, issueWarning, isTopLevel, isWithinDeclaredStreamableConstruct, isYes, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeQName, makeRetainedStaticContext, makeSequenceType, mapToSequence, markTailCalls, mayContainFallback, mayContainParam, postValidate, processAllAttributes, processAttributes, processBooleanAttribute, processVersionAttribute, reportAbsence, requireXslt40Attribute, requireXslt40Element, seesAvuncularVariables, setCompilation, setInstructionLocation, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, validateSubtree, validateValidationAttribute
Methods 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, setTypeAnnotation
Methods 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, setRawSequenceNumber
Methods 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, setSiblingPosition
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface net.sf.saxon.om.GroundedValue
asIterable, concatenate, containsNode, materialize
Methods inherited from interface net.sf.saxon.om.Item
getLength, getStringValue, itemAt, iterate, reduce, subsequence
Methods inherited from interface net.sf.saxon.om.NodeInfo
asActiveSource, children, children, deliver, getAttributeValue, getGenre, getPublicId, getURI, isSameNodeInfo, isStreamed, toShortString
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
Constructor Details
-
LiteralResultElement
public LiteralResultElement()
-
-
Method Details
-
mayContainSequenceConstructor
protected boolean mayContainSequenceConstructor()Determine whether this type of element is allowed to contain a sequence constructor- Overrides:
mayContainSequenceConstructor
in classStyleElement
- Returns:
- true: yes, it may contain a sequence constructor
-
isInstruction
public boolean isInstruction()Specify that this is an instruction- Overrides:
isInstruction
in classStyleElement
- Returns:
- true if this element is an instruction
-
isInXsltNamespace
public boolean isInXsltNamespace()Ask whether the element is in the XSLT namespace- Overrides:
isInXsltNamespace
in classStyleElement
- Returns:
- true if the element is in the XSLT namespace
-
processStandardAttributes
Description copied from class:StyleElement
Process the standard attributes such as[xsl:]expand-text
. InvokesStyleElement.compileError(String)
or similar if the value of any of these attributes is invalid.The method processes:
extension-element-prefixes
exclude-result-prefixes
version
default-xpath-namespace
default-validation
expand-text
but not:
default-collation
default-mode
- Overrides:
processStandardAttributes
in classStyleElement
- Parameters:
namespace
- either "" to find the attributes in the null namespace, or NamespaceConstant.XSLT to find them in the XSLT namespace
-
prepareAttributes
protected void prepareAttributes()Process the attribute list- Specified by:
prepareAttributes
in classStyleElement
-
validate
Validate that this node is OK- Overrides:
validate
in classStyleElement
- Parameters:
decl
- the declaration to be validated- Throws:
XPathException
- if any error is found during validation
-
validateChildren
protected void validateChildren(ComponentDeclaration decl, boolean excludeStylesheet) throws XPathException Validate the children of this node, recursively. Overridden for top-level data elements.- Overrides:
validateChildren
in classStyleElement
- Parameters:
decl
- the declaration whose children are to be validatedexcludeStylesheet
- true if the xsl:stylesheet element is to be excluded- Throws:
XPathException
- if validation fails
-
compile
Compile code to process the literal result element at runtime- Overrides:
compile
in classStyleElement
- Parameters:
exec
- the compilation episodedecl
- the containing top-level declaration, for example xsl:function or xsl:template- Returns:
- either a ComputedExpression, or null. The value null is returned when compiling an instruction that returns a no-op, or when compiling a top-level object such as an xsl:template that compiles into something other than an instruction.
- Throws:
XPathException
- if validation fails
-
makeStylesheet
Make a top-level literal result element into a stylesheet. This implements the "Simplified Stylesheet" facility.- Parameters:
topLevel
- true if this is the top level module of a stylesheet; false if it is included or imported- Returns:
- the reconstructed stylesheet with an xsl:stylesheet and xsl:template element added
- Throws:
XPathException
- if anything goes wrong
-
getObjectName
Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc. This is used only where the name is known statically. If there is no name, the value will be -1.- Overrides:
getObjectName
in classStyleElement
- Returns:
- the name of the literal result element
-