org.exolab.adaptx.xslt
Class XSLTStylesheet

java.lang.Object
  extended by org.exolab.adaptx.xslt.XSLObject
      extended by org.exolab.adaptx.xslt.XSLTStylesheet

public class XSLTStylesheet
extends XSLObject

This class represents an XSL stylesheet

Author:
Keith Visco

Field Summary
static java.lang.String XSLT_NAMESPACE
          The current (and ever changing) XSLT namespace
 
Fields inherited from class org.exolab.adaptx.xslt.XSLObject
APPLY_IMPORTS, APPLY_TEMPLATES, ARG, ATTRIBUTE, ATTRIBUTE_SET, CALL_TEMPLATE, CDATA, CHOOSE, COMMENT, CONTENTS, COPY, COPY_OF, ELEMENT, ENTITY_REF, FOR_EACH, FUNCTIONS, ID, IF, IMPORT, INCLUDE, KEY, LITERAL, LOCALE, MESSAGE, NUMBER, OTHERWISE, OUTPUT, PARAM, PI, PRESERVE_SPACE, SCRIPT, SORT, STRIP_SPACE, STYLESHEET, TEMPLATE, TEXT, VALUE_OF, VARIABLE, WHEN, WITH_PARAM
 
Constructor Summary
XSLTStylesheet()
          Create a new XSLStylesheet
 
Method Summary
 void addAttributeSet(AttributeSet attributeSet)
          Adds the given AttributeSet to this stylesheet
 void addId(Id id)
          Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.
 void addId(java.lang.String idAttr)
          Adds a new Id to the list of IDs for this stylesheet for all elements.
 void addId(java.lang.String idAttr, java.lang.String elementType)
          Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.
 void addParam(Param param)
          Adds a new top-level parameter to this stylesheet.
 void addScript(XSLScript script)
          Adds a new global level XSLScript to this stylesheet.
 void addTemplate(TemplateRule template)
          Adds a new TemplateRule to the list of rules for this stylesheet.
 void addVariable(Variable variable)
          Adds a new top-level Variable to this stylesheet
 boolean appendAction(XSLObject xslObject)
          Adds the given XSLObject to this Stylesheet.
The following elements are valid:
 int countTemplates()
           
 AttributeSet getAttributeSet(java.lang.String setName)
           
 java.util.Hashtable getAttributeSets()
          Returns all of the attribute-sets for this stylesheet
 java.lang.String getDocumentBase()
          Returns the document base for this stylesheet
 List getExtensionElementPrefixes()
          Returns an enumeration of the declared namespace prefixes for extension elements
 java.lang.String getHref()
           
 java.util.Hashtable getIds()
           
 List getLocalTemplates()
           
 TemplateRule getNamedTemplate(java.lang.String name)
          Returns the TemplateRule whose name matches the given name argument.
 java.util.Enumeration getNamedTemplates()
          Returns an enumeration of templates that have names
 XSLOutput getOutput()
          Returns the XSLOutput Object for controlling the serialization of Result Documents created using this Stylesheet
 Param getParameter(java.lang.String name)
          Returns the top-level parameter associated with the given name
 java.util.Enumeration getParameters()
          Returns an Enumeration of the top-level parameters
 java.lang.String getQuotedNamespace(java.lang.String namespace)
          Returns the namespace that the given namespace argument quotes
 java.lang.String getResultDocType()
           
 java.lang.String getResultNamespace()
           
 List getScripts()
          Retrieves the set of global level scripts for this stylesheet
 TemplateRule[] getTemplates()
           
 URILocation getURILocation()
          Returns the URILocation for this stylesheet, or null, if no location was set.
 Variable getVariable(java.lang.String name)
          Returns the variable associated with the given name
 java.util.Enumeration getVariables()
          Returns an Enumeration of the top-level variables
 java.lang.String getXSLNSPrefix()
          Returns the XSL Namespace Prefix for this XSL Stylesheet
 void importFrom(XSLImport xslImport)
          Imports the XSLStylesheet referenced by the given XSLImport to this stylesheet.
 void importFrom(XSLTStylesheet xsl)
          Imports the given XSLStylesheet to this XSLStylesheet.
 void includeFrom(XSLTStylesheet xsl)
          Includes the given XSLStylesheet to this XSLStylesheet.
 boolean isAllowableImport(java.lang.String filename)
          Checks the given filename against this Stylesheet's href and previously imported stylesheets to determine if the file represented by the given filename can be imported in this stylesheet.
 boolean isStripSpaceAllowed(java.lang.String name)
          Determines whether or not whitespace stripping is allowed for Elements with the given name
 void preserveSpace(java.lang.String name)
          Preserves the whitespace of Elements with the given name.
 void setAttribute(java.lang.String name, java.lang.String value)
          Sets the attribute with the given name to the given value.
 void setURILocation(URILocation location)
          Sets the URILocation for this stylesheet
 void stripSpace(java.lang.String name)
          Removes the ignorable whitespace from Elements with the given name.
 
Methods inherited from class org.exolab.adaptx.xslt.XSLObject
addNamespaceDecl, appendText, appendText, getActions, getAttribute, getAttributes, getNamespace, getNearestAncestor, getNodeValue, getStylesheet, getText, getType, getTypeFromName, getTypeName, resolveNamespace, setAllowActions, setNamespace, setTypeName
 
Methods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

XSLT_NAMESPACE

public static final java.lang.String XSLT_NAMESPACE
The current (and ever changing) XSLT namespace

See Also:
Constant Field Values
Constructor Detail

XSLTStylesheet

public XSLTStylesheet()
Create a new XSLStylesheet

Method Detail

addAttributeSet

public void addAttributeSet(AttributeSet attributeSet)
Adds the given AttributeSet to this stylesheet

Parameters:
attributeSet - the AttributeSet to add

addVariable

public void addVariable(Variable variable)
                 throws XSLException
Adds a new top-level Variable to this stylesheet

Parameters:
variable - the Variable to add
Throws:
XSLException - when adding a Variable with the same name as a previously added Variable or Parameter.

addId

public void addId(java.lang.String idAttr)
Adds a new Id to the list of IDs for this stylesheet for all elements.

Parameters:
idAttr - the id attribute to add

addId

public void addId(java.lang.String idAttr,
                  java.lang.String elementType)
Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.

Parameters:
idAttr - the ID to add
elementType - the tag name of the element that id is an ID for Note: the wild card "*" will match all element types

addId

public void addId(Id id)
Adds a new Id for the specified element type to the list of IDs for this element type stylesheet.

Parameters:
id - the Id to add

addParam

public void addParam(Param param)
              throws XSLException
Adds a new top-level parameter to this stylesheet. The parameter may, or may not have a default value.

Parameters:
param - the top-level parameter to add
Throws:
XSLException - when adding a parameter with the same name as a previously declared parameter, or variable

addTemplate

public void addTemplate(TemplateRule template)
                 throws XSLException
Adds a new TemplateRule to the list of rules for this stylesheet.

Parameters:
rule - the TemplateRule to add
Throws:
XSLException - when a template already exists with the given name

addScript

public void addScript(XSLScript script)
Adds a new global level XSLScript to this stylesheet.
Note: This is currently a proprietary feature

Parameters:
script - the XSLScript to add

appendAction

public boolean appendAction(XSLObject xslObject)
Adds the given XSLObject to this Stylesheet.
The following elements are valid:
   xsl:attribute-set
   xsl:constant
   xsl:id
   xsl:import
   xsl:include
   xsl:macro
   xsl:template
   xsl:preserve-space
   xsl:strip-space

 The following proprietary elemens are also valid:
   xsl:script
 

Overrides:
appendAction in class XSLObject
Parameters:
xslObject - the XSLObject to add to this XSLObject's list of actions
Returns:
true if the given XSLObject has been added to this XSLObject otherwise false

getAttributeSet

public AttributeSet getAttributeSet(java.lang.String setName)
Parameters:
setName - the name of the attribute set to return
Returns:
the AttributeSet for the given name, or null if not found.
See Also:
AttributeSet

getAttributeSets

public java.util.Hashtable getAttributeSets()
Returns all of the attribute-sets for this stylesheet

Returns:
all of the AttributeSets for this stylesheet

getDocumentBase

public java.lang.String getDocumentBase()
Returns the document base for this stylesheet

Returns:
the document base for this stylesheet

getExtensionElementPrefixes

public List getExtensionElementPrefixes()
Returns an enumeration of the declared namespace prefixes for extension elements


getURILocation

public URILocation getURILocation()
Returns the URILocation for this stylesheet, or null, if no location was set.

Returns:
the URILocation for this stylesheet
See Also:
getHref, getDocumentBase

getOutput

public XSLOutput getOutput()
Returns the XSLOutput Object for controlling the serialization of Result Documents created using this Stylesheet

Returns:
the Output Object for controlling the serialization of Result Documents created using this Stylesheet

getHref

public java.lang.String getHref()
Returns:
the href for this stylesheet

getIds

public java.util.Hashtable getIds()
Returns:
a Vector of all the ID attributes for this Stylesheet

getLocalTemplates

public List getLocalTemplates()
Returns:
a Vector of the TemplateRule objects for this stylesheet, does not include imported TemplateRules.

getNamedTemplate

public TemplateRule getNamedTemplate(java.lang.String name)
Returns the TemplateRule whose name matches the given name argument. Peter Ciuffetti. Added for WD-xslt-1990421

Parameters:
name - the name of the NamedTemplate to return
Returns:
the TemplateRule whose name matches the given name argument
Since:
WD-xslt-19990421

getNamedTemplates

public java.util.Enumeration getNamedTemplates()
Returns an enumeration of templates that have names

Returns:
an enumeration of templates that have names

getParameter

public Param getParameter(java.lang.String name)
Returns the top-level parameter associated with the given name

Parameters:
name - the name of the top-level parameter to return
Returns:
the top-level parameter associated with the given name

getParameters

public java.util.Enumeration getParameters()
Returns an Enumeration of the top-level parameters

Returns:
the Enumeration of top-level parameter declarations

getVariable

public Variable getVariable(java.lang.String name)
Returns the variable associated with the given name

Parameters:
name - the name of the variable to return
Returns:
the variable associated with the given name

getVariables

public java.util.Enumeration getVariables()
Returns an Enumeration of the top-level variables

Returns:
the Enumeration of top-level variable declarations

countTemplates

public int countTemplates()
Returns:
the number of templates contained in this stylesheet, including imported rules

getQuotedNamespace

public java.lang.String getQuotedNamespace(java.lang.String namespace)
Returns the namespace that the given namespace argument quotes

Parameters:
namespace - the namespace to resolve

getResultNamespace

public java.lang.String getResultNamespace()

getResultDocType

public java.lang.String getResultDocType()

getScripts

public List getScripts()
Retrieves the set of global level scripts for this stylesheet

Returns:
a List of XSLScript Objects

getTemplates

public TemplateRule[] getTemplates()
Returns:
an array of all the TemplateRule objects for this stylesheet, including imported templates

getXSLNSPrefix

public java.lang.String getXSLNSPrefix()
Returns the XSL Namespace Prefix for this XSL Stylesheet

Returns:
the XSL Namespace Prefix for this XSL Stylesheet

importFrom

public void importFrom(XSLTStylesheet xsl)
                throws XSLException
Imports the given XSLStylesheet to this XSLStylesheet.

Parameters:
xsl - the XSLStylesheet to import
Throws:
XSLException

importFrom

public void importFrom(XSLImport xslImport)
                throws XSLException
Imports the XSLStylesheet referenced by the given XSLImport to this stylesheet.

Parameters:
xslImport - the XSLImport referencing the appropriate XSLStylesheet to import.
Throws:
XSLException

includeFrom

public void includeFrom(XSLTStylesheet xsl)
                 throws XSLException
Includes the given XSLStylesheet to this XSLStylesheet.

Parameters:
xsl - the XSLStylesheet to include
Throws:
XSLException
See Also:
isAllowableInclusion

isAllowableImport

public boolean isAllowableImport(java.lang.String filename)
Checks the given filename against this Stylesheet's href and previously imported stylesheets to determine if the file represented by the given filename can be imported in this stylesheet.

Returns:
true if the given filename is allowed to be included in this XSLStylesheet, otherwise false.

isStripSpaceAllowed

public boolean isStripSpaceAllowed(java.lang.String name)
Determines whether or not whitespace stripping is allowed for Elements with the given name

Parameters:
name - the name of the Element
See Also:
preserveSpace, stripSpace

preserveSpace

public void preserveSpace(java.lang.String name)
Preserves the whitespace of Elements with the given name. By default all ignorable whitespace is removed for all Elements.

Parameters:
name - the name of the Element to preserve whitespace of.
See Also:
stripSpace

setAttribute

public void setAttribute(java.lang.String name,
                         java.lang.String value)
                  throws XSLException
Description copied from class: XSLObject
Sets the attribute with the given name to the given value.

Overrides:
setAttribute in class XSLObject
Parameters:
name - the name of the attribute to set
value - the value to set the attribute to
Throws:
XSLException - if this XSLObject does not allow attributes with the given name, or if the attribute is read only
See Also:
org.exolab.adaptx.xslt.XSLElement

setURILocation

public void setURILocation(URILocation location)
Sets the URILocation for this stylesheet

Parameters:
location - the URILocation of this stylesheet

stripSpace

public void stripSpace(java.lang.String name)
Removes the ignorable whitespace from Elements with the given name. By default all ignorable whitespace is removed for all Elements. This method should only be called if preserveSpace was previously called with the same name argument.

Parameters:
name - the name of the Element to strip whitespace from
See Also:
preserveSpace