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:
javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,ActiveSource
,GroundedValue
,Item
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,Sequence
,Location
,SteppingNode
,SiblingCountingNode
,org.xml.sax.Locator
public class LiteralResultElement extends StyleElement
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.
-
-
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 Constructor Description LiteralResultElement()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
compile(Compilation exec, ComponentDeclaration decl)
Compile code to process the literal result element at runtimeStructuredQName
getObjectName()
Get a name identifying the object of the expression, for example a function name, template name, variable name, key name, element name, etc.boolean
isInstruction()
Specify that this is an instructionDocumentImpl
makeStylesheet(boolean topLevel)
Make a top-level literal result element into a stylesheet.protected boolean
mayContainSequenceConstructor()
Determine whether this type of element is allowed to contain a sequence constructorprotected void
prepareAttributes()
Process the attribute listvoid
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, arrayToSequence, bindLocalVariable, bindVariable, checkEmpty, checkTopLevel, checkUnknownAttribute, compileDeclaration, compileError, compileError, compileError, compileError, compileError, compileError, compileErrorInAttribute, compileSequenceConstructor, compileSequenceConstructor, compileWarning, 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, processStandardAttributes, processVersionAttribute, reportAbsence, requireXslt40, 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, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getRawParent, getSiblingPosition, getSuccessorElement, getTreeInfo, getURI, 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, getGenre, getPublicId, isSameNodeInfo, isStreamed, toShortString
-
Methods inherited from interface net.sf.saxon.om.Sequence
makeRepeatable
-
-
-
-
Method Detail
-
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
-
prepareAttributes
protected void prepareAttributes()
Process the attribute list- Specified by:
prepareAttributes
in classStyleElement
-
validate
public void validate(ComponentDeclaration decl) throws XPathException
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
public Expression compile(Compilation exec, ComponentDeclaration decl) throws XPathException
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
public DocumentImpl makeStylesheet(boolean topLevel) throws XPathException
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
public StructuredQName 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
-
-