Package net.sf.saxon.style
Class XSLStylesheet
- 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.XSLStylesheet
-
- All Implemented Interfaces:
java.io.Serializable
,javax.xml.transform.Source
,javax.xml.transform.SourceLocator
,LocationProvider
,SaxonLocator
,PullEvent
,Container
,FingerprintedNode
,Item<NodeInfo>
,MutableNodeInfo
,NamespaceResolver
,NodeInfo
,ValueRepresentation<NodeInfo>
,InstructionInfo
,SiblingCountingNode
,org.xml.sax.Locator
public class XSLStylesheet extends StyleElement
An xsl:stylesheet or xsl:transform element in the stylesheet.
Note this element represents a stylesheet module, not necessarily the whole stylesheet. However, much of the functionality (and the fields) are relevant only to the top-level module.- See Also:
- Serialized Form
-
-
Field Summary
Fields Modifier and Type Field Description static int
ANNOTATION_PRESERVE
static int
ANNOTATION_STRIP
static int
ANNOTATION_UNSPECIFIED
(package private) PreparedStylesheet
exec
-
Fields inherited from class net.sf.saxon.style.StyleElement
ACTION_COMPILE, ACTION_FIXUP, ACTION_OPTIMIZE, ACTION_PROCESS_ATTRIBUTES, ACTION_TYPECHECK, ACTION_VALIDATE, actionsCompleted, defaultCollationName, defaultXPathNamespace, extensionNamespaces, REPORT_ALWAYS, REPORT_IF_INSTANTIATED, REPORT_UNLESS_FALLBACK_AVAILABLE, REPORT_UNLESS_FORWARDS_COMPATIBLE, reportingCircumstances, staticContext, validationError, version, YES_NO
-
Fields inherited from class net.sf.saxon.tree.linked.NodeImpl
NODE_LETTER
-
Fields inherited from interface net.sf.saxon.om.NodeInfo
ALL_NAMESPACES, IS_DTD_TYPE, IS_NILLED, LOCAL_NAMESPACES, NO_NAMESPACES
-
Fields inherited from interface net.sf.saxon.om.ValueRepresentation
EMPTY_VALUE_ARRAY
-
-
Constructor Summary
Constructors Constructor Description XSLStylesheet()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description Expression
compile(Executable exec, Declaration decl)
Dummy compile() method to satisfy the interfaceStructuredQName
getDefaultMode()
Get the default mode (XSLT 3.0 feature)int
getDefaultValidation()
Get the value of the default validation attributePreparedStylesheet
getExecutable()
Get the run-time Executable objectint
getInputTypeAnnotationsAttribute()
Get the value of the input-type-annotations attribute, for this module alone.KeyManager
getKeyManager()
Get the KeyManager which handles key definitionsLocationMap
getLocationMap()
Get the locationMap objectPreparedStylesheet
getPreparedStylesheet()
Get the owning PreparedStylesheet object.PrincipalStylesheetModule
getPrincipalStylesheetModule()
Get the principal stylesheet moduleRuleManager
getRuleManager()
Get the RuleManager which handles template rulesprotected void
index(Declaration decl, PrincipalStylesheetModule top)
Method supplied by declaration elements to add themselves to a stylesheet-level indexprotected boolean
mayContainParam(java.lang.String attName)
Determine whether this type of element is allowed to contain an xsl:param elementvoid
prepareAttributes()
Prepare the attributes on the stylesheet elementvoid
processAllAttributes()
Process the attributes of every node in the stylesheetvoid
setPrincipalStylesheetModule(PrincipalStylesheetModule module)
void
validate(Declaration decl)
Validate this element-
Methods inherited from class net.sf.saxon.style.StyleElement
allocateLocationId, allocatePatternSlots, allocateSlots, bindLocalVariable, bindVariable, checkAttributeValue, checkEmpty, checkSortComesFirst, checkTopLevel, checkUnknownAttribute, compileDeclaration, compileError, compileError, compileError, compileError, compileSequenceConstructor, compileWarning, compileWarning, definesExcludedNamespace, definesExtensionElement, fallbackProcessing, fixupReferences, forwardsCompatibleModeIsEnabled, getAttributeSets, getAttributeValue, getColumnNumber, getCommonChildItemType, getConstructType, getContainerGranularity, getContainingSlotManager, getContainingStylesheet, getDefaultCollationName, getDefaultXPathNamespace, getEffectiveVersion, getHostLanguage, getLastChildInstruction, getLineNumber, getLocationProvider, getNamespaceResolver, getObjectName, getProcessorVersion, getProperties, getProperty, getReturnedItemType, getSchemaType, getStaticContext, getSystemId, getTypeAnnotation, getWithParamInstructions, isActionCompleted, isDeclaration, isExcludedNamespace, isExplaining, isExtensionNamespace, isInstruction, isPermittedChild, issueWarning, issueWarning, isTopLevel, isXslt30Processor, makeAttributeValueTemplate, makeExpression, makeExpressionVisitor, makeNamespaceContext, makePattern, makeQName, makeSequenceType, makeSortKeys, makeTraceInstruction, markTailCalls, mayContainFallback, mayContainSequenceConstructor, postValidate, processAttributes, processDefaultCollationAttribute, processDefaultXPathNamespaceAttribute, processExcludedNamespaces, processExtensionElementAttribute, processStandardAttributes, processVersionAttribute, reportAbsence, seesAvuncularVariables, setActionCompleted, setObjectName, setValidationError, substituteFor, typeCheck, typeCheck, undeclaredNamespaceError, validateChildren, validateSubtree, xPath10ModeIsEnabled
-
Methods inherited from class net.sf.saxon.tree.linked.ElementImpl
addAttribute, addNamespace, copy, delete, fixupInsertedNamespaces, generateId, getAttributeList, getAttributeValue, getAttributeValue, getBaseURI, getColumnNumber, getDeclaredNamespaces, getDocumentRoot, getLineNumber, getNameCode, getNamespaceList, getNodeKind, getPrefixForURI, getRoot, getSchemaType, getSystemId, getTypeAnnotation, getURIForPrefix, gsetAttributeCollection, initialise, isId, isNilled, iteratePrefixes, removeAttribute, removeTypeAnnotation, rename, replaceStringValue, setAttributeList, setLocation, setNameCode, setNamespaceDeclarations, setNamespaceList, setSystemId, setTypeAnnotation
-
Methods inherited from class net.sf.saxon.tree.linked.ParentNodeImpl
addChild, compact, enumerateChildren, getFirstChild, getLastChild, getNthChild, getNumberOfChildren, getRawSequenceNumber, getSequenceNumber, getStringValue, getStringValueCS, hasChildNodes, insertChildren, insertChildrenAt, removeChild, replaceChildrenAt, setChildren, setRawSequenceNumber
-
Methods inherited from class net.sf.saxon.tree.linked.NodeImpl
atomize, compareOrder, equals, getConfiguration, getDisplayName, getDocumentNumber, getFingerprint, getLocalPart, getNamePool, getNextInDocument, getNextSibling, getParent, getPhysicalRoot, getPrefix, getPreviousInDocument, getPreviousSibling, getPublicId, getRawParent, getSiblingPosition, getTypedValue, getURI, insertSiblings, isDeleted, isIdref, isSameNodeInfo, iterateAxis, iterateAxis, newBuilder, replace, setRawParent, setSiblingPosition
-
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface net.sf.saxon.trace.InstructionInfo
getLineNumber, getSystemId
-
-
-
-
Field Detail
-
exec
PreparedStylesheet exec
-
ANNOTATION_UNSPECIFIED
public static final int ANNOTATION_UNSPECIFIED
- See Also:
- Constant Field Values
-
ANNOTATION_STRIP
public static final int ANNOTATION_STRIP
- See Also:
- Constant Field Values
-
ANNOTATION_PRESERVE
public static final int ANNOTATION_PRESERVE
- See Also:
- Constant Field Values
-
-
Method Detail
-
getPreparedStylesheet
public PreparedStylesheet getPreparedStylesheet()
Get the owning PreparedStylesheet object.- Overrides:
getPreparedStylesheet
in classStyleElement
- Returns:
- the owning PreparedStylesheet object. Exceptionally returns null during early construction.
-
setPrincipalStylesheetModule
public void setPrincipalStylesheetModule(PrincipalStylesheetModule module)
-
getPrincipalStylesheetModule
public PrincipalStylesheetModule getPrincipalStylesheetModule()
Description copied from class:StyleElement
Get the principal stylesheet module- Overrides:
getPrincipalStylesheetModule
in classStyleElement
- Returns:
- the principal stylesheet module
-
getExecutable
public PreparedStylesheet getExecutable()
Get the run-time Executable object- Specified by:
getExecutable
in interfaceContainer
- Overrides:
getExecutable
in classStyleElement
- Returns:
- the executable
-
mayContainParam
protected boolean mayContainParam(java.lang.String attName)
Description copied from class:StyleElement
Determine whether this type of element is allowed to contain an xsl:param element- Overrides:
mayContainParam
in classStyleElement
- Parameters:
attName
- if null, the method tests whether an xsl:param child is allowed. If non-null, it tests whether an xsl:param child with the given attribute name is allowed- Returns:
- true if this element is allowed to contain an xsl:param
-
getLocationMap
public LocationMap getLocationMap()
Get the locationMap object- Returns:
- the LocationMap
-
getRuleManager
public RuleManager getRuleManager()
Get the RuleManager which handles template rules- Returns:
- the template rule manager
-
getDefaultMode
public StructuredQName getDefaultMode()
Get the default mode (XSLT 3.0 feature)- Returns:
- the default mode name for this stylesheet module. A return value of null indicates either that no default mode was specified, or that default-mode="#unnamed" was specified.
-
getKeyManager
public KeyManager getKeyManager()
Get the KeyManager which handles key definitions- Returns:
- the key manager
-
prepareAttributes
public void prepareAttributes() throws XPathException
Prepare the attributes on the stylesheet element- Specified by:
prepareAttributes
in classStyleElement
- Throws:
XPathException
- if a static error is detected
-
getDefaultValidation
public int getDefaultValidation()
Get the value of the default validation attribute- Returns:
- the value of the default-validation attribute, as a constant such
as
Validation.STRIP
-
getInputTypeAnnotationsAttribute
public int getInputTypeAnnotationsAttribute() throws XPathException
Get the value of the input-type-annotations attribute, for this module alone. The value is an or-ed combination of the two bitsANNOTATION_STRIP
andANNOTATION_PRESERVE
- Returns:
- the value if the input-type-annotations attribute in this stylesheet module
- Throws:
XPathException
- if an error is detected
-
validate
public void validate(Declaration decl) throws XPathException
Validate this element- Overrides:
validate
in classStyleElement
- Parameters:
decl
- Not used- Throws:
XPathException
- if any error is found during validation
-
processAllAttributes
public void processAllAttributes() throws XPathException
Process the attributes of every node in the stylesheet- Overrides:
processAllAttributes
in classStyleElement
- Throws:
XPathException
- in the event of a static error being detected
-
index
protected void index(Declaration decl, PrincipalStylesheetModule top) throws XPathException
Description copied from class:StyleElement
Method supplied by declaration elements to add themselves to a stylesheet-level index- Overrides:
index
in classStyleElement
- Parameters:
decl
- the Declaration being indexed. (This corresponds to the StyleElement object except in cases where one module is imported several times with different precedence.)top
- the outermost XSLStylesheet element- Throws:
XPathException
- if any error is encountered
-
compile
public Expression compile(Executable exec, Declaration decl)
Dummy compile() method to satisfy the interface- Overrides:
compile
in classStyleElement
- Parameters:
exec
- the Executabledecl
- 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.
-
-