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_NOFields 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.booleanSpecify that this is an instructionbooleanAsk whether the element is in the XSLT namespacemakeStylesheet(boolean topLevel) Make a top-level literal result element into a stylesheet.protected booleanDetermine whether this type of element is allowed to contain a sequence constructorprotected voidProcess the attribute listvoidprocessStandardAttributes(NamespaceUri namespace) Process the standard attributes such as[xsl:]expand-text.voidvalidate(ComponentDeclaration decl) Validate that this node is OKprotected voidvalidateChildren(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, 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
-
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:
mayContainSequenceConstructorin classStyleElement- Returns:
- true: yes, it may contain a sequence constructor
-
isInstruction
public boolean isInstruction()Specify that this is an instruction- Overrides:
isInstructionin classStyleElement- Returns:
- true if this element is an instruction
-
isInXsltNamespace
public boolean isInXsltNamespace()Ask whether the element is in the XSLT namespace- Overrides:
isInXsltNamespacein classStyleElement- Returns:
- true if the element is in the XSLT namespace
-
processStandardAttributes
Description copied from class:StyleElementProcess 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-prefixesexclude-result-prefixesversiondefault-xpath-namespacedefault-validationexpand-text
but not:
default-collationdefault-mode
- Overrides:
processStandardAttributesin 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:
prepareAttributesin classStyleElement
-
validate
Validate that this node is OK- Overrides:
validatein 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:
validateChildrenin 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:
compilein 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:
getObjectNamein classStyleElement- Returns:
- the name of the literal result element
-