Package org.exolab.adaptx.xslt
Class XSLObject
java.lang.Object
org.exolab.adaptx.xslt.XSLObject
- Direct Known Subclasses:
AttributeSet
,CopyOf
,EmptyXSLObject
,Selection
,TemplateRule
,Variable
,XSLCallTemplate
,XSLIf
,XSLImport
,XSLNumber
,XSLOtherwise
,XSLOutput
,XSLSort
,XSLText
,XSLTStylesheet
This class represents an XSLObject in the style tree. It is the most
basic of all XSLObjects and contains common functionality
across different XSLObjects. I originally had this implemented
as an extended W3C DOM XML Element, but due to problems with
extending different implementations, and to make it more
cross-DOM accessible I've chosen an this approach. Since this once
was a DOM Element, you will notice many of the methods are
very DOM-like.
- Version:
- $Revision: 3934 $ $Date: 2003-10-02 11:58:30 +0200 (Thu, 02 Oct 2003) $
- Author:
- Keith Visco
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
static final short
-
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionvoid
addNamespaceDecl
(String prefix, String namespace) Adds the Given namespace declaration to this XSLObject's set of namespace declarationsboolean
appendAction
(XSLObject xslObject) Appends the given XSLObject to this XSLObject's list of actions.void
appendText
(char[] chars, int start, int length) Appends the text to this XSLObject.void
appendText
(String text) Appends the text to this XSLObject.Returns the list of actions for this XSLObjectgetAttribute
(String name) Returns the value of the attribute whose name is equal to the given name.Returns the value of the specified attribute as an AttributeValueTemplateReturns this XSLObject's namespace URI.getNearestAncestor
(short type) Returns the nearest ancestor of this XSLObject that is of the given type.static String
getNodeValue
(Node node) Returns the String value of a DOM Node.Returns the XSLStylesheet which contains this XSLObjectstatic String
Retrieves the text of an Elementfinal short
getType()
Returns the type of XSLObject this Object representsstatic short
getTypeFromName
(String name) Returns the type of XSL Object that has the given nameReturns the name of this XSLObjectresolveNamespace
(String prefix) void
setAllowActions
(boolean allow) void
setAttribute
(String name, String value) Sets the attribute with the given name to the given value.void
setNamespace
(String uri) Sets this XSLObject's namespace URIvoid
setTypeName
(String name)
-
Field Details
-
APPLY_IMPORTS
public static final short APPLY_IMPORTS- See Also:
-
APPLY_TEMPLATES
public static final short APPLY_TEMPLATES- See Also:
-
ARG
public static final short ARG- See Also:
-
ATTRIBUTE
public static final short ATTRIBUTE- See Also:
-
ATTRIBUTE_SET
public static final short ATTRIBUTE_SET- See Also:
-
CALL_TEMPLATE
public static final short CALL_TEMPLATE- See Also:
-
CDATA
public static final short CDATA- See Also:
-
CHOOSE
public static final short CHOOSE- See Also:
-
COMMENT
public static final short COMMENT- See Also:
-
CONTENTS
public static final short CONTENTS- See Also:
-
COPY
public static final short COPY- See Also:
-
COPY_OF
public static final short COPY_OF- See Also:
-
ELEMENT
public static final short ELEMENT- See Also:
-
FOR_EACH
public static final short FOR_EACH- See Also:
-
FUNCTIONS
public static final short FUNCTIONS- See Also:
-
ID
public static final short ID- See Also:
-
IF
public static final short IF- See Also:
-
IMPORT
public static final short IMPORT- See Also:
-
INCLUDE
public static final short INCLUDE- See Also:
-
KEY
public static final short KEY- See Also:
-
LITERAL
public static final short LITERAL- See Also:
-
LOCALE
public static final short LOCALE- See Also:
-
MESSAGE
public static final short MESSAGE- See Also:
-
NUMBER
public static final short NUMBER- See Also:
-
OTHERWISE
public static final short OTHERWISE- See Also:
-
OUTPUT
public static final short OUTPUT- See Also:
-
PARAM
public static final short PARAM- See Also:
-
PI
public static final short PI- See Also:
-
PRESERVE_SPACE
public static final short PRESERVE_SPACE- See Also:
-
SORT
public static final short SORT- See Also:
-
STRIP_SPACE
public static final short STRIP_SPACE- See Also:
-
STYLESHEET
public static final short STYLESHEET- See Also:
-
TEMPLATE
public static final short TEMPLATE- See Also:
-
TEXT
public static final short TEXT- See Also:
-
VALUE_OF
public static final short VALUE_OF- See Also:
-
VARIABLE
public static final short VARIABLE- See Also:
-
WHEN
public static final short WHEN- See Also:
-
WITH_PARAM
public static final short WITH_PARAM- See Also:
-
ENTITY_REF
public static final short ENTITY_REF- See Also:
-
SCRIPT
public static final short SCRIPT- See Also:
-
-
Constructor Details
-
XSLObject
public XSLObject(short type) Creates an XSLObject using the specified type- Parameters:
parentStylesheet
- the owner XSLStylesheet of the new Elementtype
- the type of XSLObject that the new instance represents
-
-
Method Details
-
addNamespaceDecl
Adds the Given namespace declaration to this XSLObject's set of namespace declarations -
appendAction
Appends the given XSLObject to this XSLObject's list of actions.- 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
-
appendText
Appends the text to this XSLObject. This is slightly more efficient than using appendAction(new XSLText(text)) if the last child is already an XSLText object. Otherwise there is no difference.- Parameters:
text
- the text to append
-
appendText
public void appendText(char[] chars, int start, int length) Appends the text to this XSLObject. This is slightly more efficient than using appendAction(new XSLText(text)) if the last child is already an XSLText object. Otherwise there is no difference.- Parameters:
text
- the text to append
-
getActions
Returns the list of actions for this XSLObject- Returns:
- the list of actions for this XSLObject
-
getAttribute
Returns the value of the attribute whose name is equal to the given name.- Returns:
- the value of the attribute whose name is equal to the given name or null if no attribute exist's with such a name.
-
getAttributes
Returns the value of the specified attribute as an AttributeValueTemplate- Returns:
- the value of the specified attribute as an AttributeValueTemplate
- Throws:
XSLException
- when the Attribute is not a valid AttrubueValueTemplate public AttributeValueTemplate getAttributeAsAVT(String name) throws XSLException { if (name == null) return null; String attValue = getAttribute(name); AttributeValueTemplate avt = null; if ((attValue != null) && (attValue.length() > 0)) { // look in cache first avt = (AttributeValueTemplate) avtCache.get(attValue); if (avt == null) { try { avt = new AttributeValueTemplate(attValue); // add to cache for performace // Do we need to clean cache? Yes if we are reusing // XSLObjects. No if not. I am currently not // reusing XSLObjects so I am not doing any house // cleaning. This could lead to memory problems if // XSLObjects are reused heavily. avtCache.put(attValue, avt); } catch(InvalidExprException iee) { throw new XSLException (XSLException.INVALID_ATTRIBUTE_VALUE_TEMPLATE, iee.getMessage()); } } } return avt; } //-- getAttributeAsAVT /** Returns the AttributeList for this XSLObject
-
getNamespace
Returns this XSLObject's namespace URI.- Returns:
- the namespace URI or null if none exists.
-
getNearestAncestor
Returns the nearest ancestor of this XSLObject that is of the given type.- Parameters:
type
- the type of ancestor to search for- Returns:
- the nearest ancestor of this XSLObject that is of the given type.
-
getNodeValue
Returns the String value of a DOM Node.- Returns:
- the String value of a DOM Node.
- See Also:
-
getStylesheet
Returns the XSLStylesheet which contains this XSLObject- Returns:
- the XSLStylesheet which contains this XSLObject
-
getText
Retrieves the text of an Element- Returns:
- the text of the given Element
- See Also:
-
getType
public final short getType()Returns the type of XSLObject this Object represents- Returns:
- the type of XSLObject that this Object represents
-
getTypeFromName
Returns the type of XSL Object that has the given name- Parameters:
name
- the name the XSLObject- Returns:
- the type of XSL Object that has the given name
-
getTypeName
Returns the name of this XSLObject- Returns:
- the name of this XSLObject
-
resolveNamespace
-
setAllowActions
public void setAllowActions(boolean allow) -
setTypeName
-
setAttribute
Sets the attribute with the given name to the given value.- Parameters:
name
- the name of the attribute to setvalue
- 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
-
setNamespace
Sets this XSLObject's namespace URI- Parameters:
uri
- the namespace URI
-