org.exolab.adaptx.xslt

Class XSLTStylesheet


public class XSLTStylesheet
extends XSLObject

This class represents an XSL stylesheet

Author:
Keith Visco

Field Summary

static 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(String idAttr)
Adds a new Id to the list of IDs for this stylesheet for all elements.
void
addId(String idAttr, String elementType)
Adds a new Id for the specified element type to the list of IDs for this element type 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
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:
   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
 
int
countTemplates()
AttributeSet
getAttributeSet(String setName)
Hashtable
getAttributeSets()
Returns all of the attribute-sets for this stylesheet
String
getDocumentBase()
Returns the document base for this stylesheet
List
getExtensionElementPrefixes()
Returns an enumeration of the declared namespace prefixes for extension elements
String
getHref()
Hashtable
getIds()
List
getLocalTemplates()
TemplateRule
getNamedTemplate(String name)
Returns the TemplateRule whose name matches the given name argument.
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(String name)
Returns the top-level parameter associated with the given name
Enumeration
getParameters()
Returns an Enumeration of the top-level parameters
String
getQuotedNamespace(String namespace)
Returns the namespace that the given namespace argument quotes
String
getResultDocType()
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(String name)
Returns the variable associated with the given name
Enumeration
getVariables()
Returns an Enumeration of the top-level variables
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(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(String name)
Determines whether or not whitespace stripping is allowed for Elements with the given name
void
preserveSpace(String name)
Preserves the whitespace of Elements with the given name.
void
setAttribute(String name, String value)
void
setURILocation(URILocation location)
Sets the URILocation for this stylesheet
void
stripSpace(String name)
Removes the ignorable whitespace from Elements with the given name.

Methods inherited from class org.exolab.adaptx.xslt.XSLObject

appendAction, appendText, appendText, getActions, getAttribute, getAttributes, getNearestAncestor, getNodeValue, getStylesheet, getText, getType, getTypeFromName, getTypeName, resolveNamespace, setAllowActions, setAttribute, setTypeName

Field Details

XSLT_NAMESPACE

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

Constructor Details

XSLTStylesheet

public XSLTStylesheet()
Create a new XSLStylesheet

Method Details

addAttributeSet

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

Parameters:
attributeSet - the AttributeSet to add


addId

public void addId(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(String idAttr,
                  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


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


addTemplate

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

Parameters:

Throws:
XSLException - when a template already exists with the given name


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.


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 interface XSLObject


countTemplates

public int countTemplates()

Returns:
the number of templates contained in this stylesheet, including imported rules


getAttributeSet

public AttributeSet getAttributeSet(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 Hashtable getAttributeSets()
Returns all of the attribute-sets for this stylesheet

Returns:
all of the AttributeSets for this stylesheet


getDocumentBase

public 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


getHref

public String getHref()

Returns:
the href for this stylesheet


getIds

public 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(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 Enumeration getNamedTemplates()
Returns an enumeration of templates that have names

Returns:
an enumeration of templates that have names


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


getParameter

public Param getParameter(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 Enumeration getParameters()
Returns an Enumeration of the top-level parameters

Returns:
the Enumeration of top-level parameter declarations


getQuotedNamespace

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

Parameters:
namespace - the namespace to resolve


getResultDocType

public String getResultDocType()


getResultNamespace

public String getResultNamespace()


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


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


getVariable

public Variable getVariable(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 Enumeration getVariables()
Returns an Enumeration of the top-level variables

Returns:
the Enumeration of top-level variable declarations


getXSLNSPrefix

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

Returns:
the XSL Namespace Prefix for this XSL Stylesheet


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 -


importFrom

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

Parameters:
xsl - the 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(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(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(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(String name,
                         String value)
            throws XSLException
Overrides:
setAttribute in interface XSLObject

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(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