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 instructionboolean
isInXsltNamespace()
Ask whether the element is in the XSLT namespaceDocumentImpl
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
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
-
-
-
-
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
-
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
public void processStandardAttributes(NamespaceUri namespace)
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
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
-
-