# Package org.apache.xalan.templates

Implements the `Templates` interface, and defines a set of classes that represent an XSLT stylesheet.

See: Description

- Interface Summary
  Interface | Description
  --- | ---
  XSLTVisitable | A class that implements this interface will call a XSLTVisitor for itself and members within it's heararchy.

- Class Summary
  Class | Description
  --- | ---
  AbsPathChecker | This class runs over a path expression that is assumed to be absolute, and checks for variables and the like that may make it context dependent.
  AVT | Class to hold an Attribute Value Template.
  AVTPart | Class to hold a part, either a string or XPath, of an Attribute Value Template.
  AVTPartSimple | Simple string part of a complex AVT.
  AVTPartXPath | Simple string part of a complex AVT.
  Constants | Primary constants used in the TransformerImpl classes.
  DecimalFormatProperties | Implement xsl:decimal-format.
  ElemApplyImport | Implement xsl:apply-imports.
  ElemApplyTemplates | Implement xsl:apply-templates.
  ElemAttribute | Implement xsl:attribute.
  ElemAttributeSet | Implement xsl:attribute-set.
  ElemCallTemplate | Implement xsl:call-template.
  ElemChoose | Implement xsl:choose.
  ElemComment | Implement xsl:comment.
  ElemCopy | Implement xsl:copy.
  ElemCopyOf | Implement xsl:copy-of.
  ElemElement | Implement xsl:element
  ElemEmpty | Simple empty elem to push on the stack when nothing else got pushed, so that pop() works correctly.
  ElemExsltFuncResult | Handles the EXSLT result element within an EXSLT function element.
  ElemExsltFunction | Implement func:function.
  ElemExtensionCall | Implement an extension element.
  ElemExtensionDecl | Implement the declaration of an extension element
  ElemExtensionScript | Implement Script extension element
  ElemFallback | Implement xsl:fallback.
  ElemForEach | Implement xsl:for-each.
  ElemIf | Implement xsl:if.
  ElemLiteralResult | Implement a Literal Result Element.
  ElemMessage | Implement xsl:message.
  ElemNumber | Implement xsl:number.
  ElemOtherwise | Implement xsl:otherwise.
  ElemParam | Implement xsl:param.
  ElemPI | Implement xsl:processing-instruction.
  ElemSort | Implement xsl:sort.
  ElemTemplate | Implement xsl:template.
  ElemTemplateElement | An instance of this class represents an element inside an xsl:template class.
  ElemText | Implement xsl:template.
  ElemTextLiteral | Implement a text literal.
  ElemUnknown | Implement an unknown element
  ElemUse | Implement xsl:use.
  ElemValueOf | Implement xsl:value-of.
  ElemVariable | Implement xsl:variable.
  ElemVariablePsuedo |
  ElemWhen | Implement xsl:when.
  ElemWithParam | Implement xsl:with-param.
  FuncDocument | Execute the Doc() function.
  FuncFormatNumb | Execute the FormatNumber() function.
  FuncKey | Execute the Key() function.
  KeyDeclaration | Holds the attribute declarations for the xsl:keys element.
  NamespaceAlias | Object to hold an xsl:namespace element.
  OutputProperties | This class provides information from xsl:output elements.
  RedundentExprEliminator | This class eleminates redundent XPaths from a given subtree, and also collects all absolute paths within the subtree.
  Stylesheet | Represents a stylesheet element.
  StylesheetComposed | Represents a stylesheet that has methods that resolve includes and imports.
  StylesheetRoot | This class represents the root object of the stylesheet tree.
  TemplateList | Encapsulates a template list, and helps locate individual templates.
  VarNameCollector | This class visits variable refs in an XPath and collects their QNames.
  WhiteSpaceInfo | This is used as a special "fake" template that can be handled by the TemplateList to do pattern matching on nodes.
  XMLNSDecl | Represents an xmlns declaration
  XSLTVisitor | A derivation from this class can be passed to a class that implements the XSLTVisitable interface, to have the appropriate method called for each component of an XSLT stylesheet.
  XUnresolvedVariable | An instance of this class holds unto a variable until it is executed.
  XUnresolvedVariableSimple | This is the same as XUnresolvedVariable, but it assumes that the context is already set up.

## Package org.apache.xalan.templates Description

Implements the `Templates` interface, and defines a set of classes that represent an XSLT stylesheet.

`StylesheetRoot` implements the `Templates` interface, and extends `StylesheetComposed`, which is a `Stylesheet` composed of itself and its included Stylesheet objects. A StylesheetRoot also contains a global list of all imported StylesheetComposed objects. The role of these objects is to hold immutable stylesheet data, not to perform procedural tasks associated with the construction of the data (the org.apache.xalan.processor package) or with the transformation (the org.apache.xalan.transformer package).

`ElemTemplateElement` is the superclass of all XSLT instruction elements, including Stylesheet. The xFunc classes extend members of the org.apache.xpath package and implement XSLT functions. Unlike the Stylesheet "container" objects, the instruction element and function classes do contain procedural execute() methods that are called during the transformation.

Copyright © 2023 Apache XML Project. All Rights Reserved.