Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

Public Types | Public Member Functions | Static Public Member Functions
StylesheetConstructionContextDefault Class Reference

An default implementation of an abtract class which provides support for constructing the internal representation of a stylesheet. More...

Inheritance diagram for StylesheetConstructionContextDefault:
StylesheetConstructionContext XPathConstructionContext

List of all members.

Public Types

Public Member Functions

Static Public Member Functions


Detailed Description

An default implementation of an abtract class which provides support for constructing the internal representation of a stylesheet.


Member Typedef Documentation


Member Enumeration Documentation

anonymous enum
Enumerator:
eDefaultXalanDOMCharVectorBlockSize 
eDefaultAVTBlockSize 
eDefaultAVTPartSimpleBlockSize 
eDefaultAVTPartXPathBlockSize 
eDefaultXalanQNameByValueBlockSize 
eDefaultPointerVectorBlockSize 
eDefaultElemApplyTemplatesBlockSize 
eDefaultElemAttributeBlockSize 
eDefaultElemAttributeSetBlockSize 
eDefaultElemCallTemplateBlockSize 
eDefaultElemElementBlockSize 
eDefaultElemLiteralResultBlockSize 
eDefaultElemTemplateBlockSize 
eDefaultElemTextLiteralBlockSize 
eDefaultElemValueOfBlockSize 
eDefaultElemVariableBlockSize 
eDefaultMatchPatternDataBlockSize 

Constructor & Destructor Documentation

StylesheetConstructionContextDefault::StylesheetConstructionContextDefault ( MemoryManagerType theManager,
XSLTEngineImpl processor,
XPathFactory xpathFactory,
VectorAllocatorSizeType  theXalanDOMCharVectorAllocatorBlockSize = eDefaultXalanDOMCharVectorBlockSize,
XalanAVTAllocator::size_type  theAVTAllocatorBlockSize = eDefaultAVTBlockSize,
XalanAVTPartSimpleAllocator::size_type  theAVTPartSimpleAllocatorBlockSize = eDefaultAVTPartSimpleBlockSize,
XalanAVTPartXPathAllocator::size_type  theAVTPartXPathAllocatorBlockSize = eDefaultAVTPartXPathBlockSize,
XalanQNameByValueAllocator::size_type  theXalanQNameByValueAllocatorBlockSize = eDefaultXalanQNameByValueBlockSize,
VectorAllocatorSizeType  thePointerVectorAllocatorBlockSize = eDefaultPointerVectorBlockSize 
)
virtual StylesheetConstructionContextDefault::~StylesheetConstructionContextDefault ( ) [virtual]

Member Function Documentation

virtual const AVTPart** StylesheetConstructionContextDefault::allocateAVTPartPointerVector ( size_type  theLength) [virtual]

Allocate a vector of const AVTPart* of the specified length.

Parameters:
theLengthThe length of the vector
Returns:
A pointer to the vector.

Implements StylesheetConstructionContext.

virtual const AVT** StylesheetConstructionContextDefault::allocateAVTPointerVector ( size_type  theLength) [virtual]

Allocate a vector of const AVT* of the specified length.

Parameters:
theLengthThe length of the vector
Returns:
A pointer to the vector.

Implements StylesheetConstructionContext.

virtual XalanDOMChar* StylesheetConstructionContextDefault::allocateXalanDOMCharVector ( XalanDOMString::size_type  theLength) [virtual]

Allocate a vector of XalanDOMChar of the specified size.

Parameters:
theLengthThe length of the character vector
Returns:
A pointer to the vector.

Implements StylesheetConstructionContext.

virtual XalanDOMChar* StylesheetConstructionContextDefault::allocateXalanDOMCharVector ( const XalanDOMChar *  theString,
XalanDOMString::size_type  theLength = XalanDOMString::npos,
bool  fTerminate = true 
) [virtual]

Allocate a vector of XalanDOMChar of the specified size.

Parameters:
theStringThe source character array
theLengthThe length of the character vector
fTerminateIf true, terminate the new vector with 0
Returns:
A pointer to the array.

Implements StylesheetConstructionContext.

virtual StylesheetRoot* StylesheetConstructionContextDefault::create ( const XalanDOMString theBaseIdentifier) [virtual]

Create a new StylesheetRoot instance.

The StylesheetConstructionContext instance owns the StylesheetRoot instance, and will delete it when asked or when the StylesheetConstructionContext instance is destroyed.

Parameters:
theBaseIdentifierA URI to the stylesheet file.
Returns:
A pointer to a new StylesheetRoot instance.

Implements StylesheetConstructionContext.

virtual StylesheetRoot* StylesheetConstructionContextDefault::create ( const XSLTInputSource theInputSource) [virtual]

Create a new StylesheetRoot instance.

The StylesheetConstructionContext instance owns the StylesheetRoot instance, and will delete it when asked or when the StylesheetConstructionContext instance is destroyed.

Parameters:
theInputSourceA reference to the input source.
Returns:
A pointer to a new StylesheetRoot instance.

Implements StylesheetConstructionContext.

virtual Stylesheet* StylesheetConstructionContextDefault::create ( StylesheetRoot theStylesheetRoot,
const XalanDOMString theBaseIdentifier 
) [virtual]

Create a new Stylesheet instance.

The StylesheetConstructionContext instance owns the Stylesheet instance, and will delete it when asked or when the StylesheetConstructionContext instance is destroyed.

Parameters:
Areference to the StylesheetRoot instance.
theBaseIdentifierA URI to the stylesheet file.
Returns:
A pointer to a new StylesheetRoot instance.

Implements StylesheetConstructionContext.

virtual const AVT* StylesheetConstructionContextDefault::createAVT ( const LocatorType locator,
const XalanDOMChar *  name,
const XalanDOMChar *  stringedValue,
const PrefixResolver resolver 
) [virtual]

Create an AVT instance.

Parameters:
locatorthe Locator for the instance. May be null.
namename of AVT
stringedValuestring value to parse
resolverresolver for namespace resolution
Returns:
A pointer to the instance.

Implements StylesheetConstructionContext.

virtual const AVTPart* StylesheetConstructionContextDefault::createAVTPart ( const XalanDOMChar *  theString,
XalanDOMString::size_type  theLength = XalanDOMString::npos 
) [virtual]

Create an AVTPart instance.

Parameters:
theStringThe source character array
theLengthThe length of the character vector
fTerminateIf true, terminate the new vector with 0
Returns:
A pointer to the instance.

Implements StylesheetConstructionContext.

virtual const AVTPart* StylesheetConstructionContextDefault::createAVTPart ( const LocatorType locator,
const XalanDOMChar *  str,
XalanDOMString::size_type  len,
const PrefixResolver resolver 
) [virtual]

Create an AVTPart instance.

Parameters:
locatorthe Locator for the instance. May be null.
strThe XPath expression for the instance
lenThe length of the expression
resolverresolver for namespace resolution
Returns:
A pointer to the instance.

Implements StylesheetConstructionContext.

virtual ElemTemplateElement* StylesheetConstructionContextDefault::createElement ( int  token,
Stylesheet stylesheetTree,
const AttributeListType atts,
const LocatorType locator = 0 
) [virtual]

Create a stylesheet element for the provided type.

The instance owns the memory and will delete the element when it goes out of scope and the containing stylesheet is destroyed.

Parameters:
tokenThe enum value of the element to create.
stylesheetTreeThe stylesheet containing the element
attsThe list of attributes for the element
locatorThe Locator instance for error reporting. May be 0.
Returns:
A pointer to the new instance.

Implements StylesheetConstructionContext.

virtual ElemTemplateElement* StylesheetConstructionContextDefault::createElement ( int  token,
Stylesheet stylesheetTree,
const XalanDOMChar *  name,
const AttributeListType atts,
const LocatorType locator = 0 
) [virtual]

Create a elements which have specific names.

The instance owns the memory and will delete the element when it goes out of scope and the containing stylesheet is destroyed.

Parameters:
tokenThe enum value of the element to create.
stylesheetTreeThe stylesheet containing the element
nameThe name of the element
attsThe list of attributes for the element
locatorThe Locator instance for error reporting. May be 0.
Returns:
A pointer to the new instance.

Implements StylesheetConstructionContext.

virtual ElemTemplateElement* StylesheetConstructionContextDefault::createElement ( Stylesheet stylesheetTree,
const XalanDOMChar *  chars,
XalanDOMString::size_type  length,
bool  preserveSpace,
bool  disableOutputEscaping,
const LocatorType locator = 0 
) [virtual]

Create a an element for literal text.

The instance owns the memory and will delete the element when it goes out of scope and the containing stylesheet is destroyed.

Parameters:
stylesheetTreeThe stylesheet containing the element
charsThe pointer to character string for element
lengthlength of the chars parameter.
preserveSpacetrue is space should be preserved
disableOutputEscapingtrue if output escaping should be disabled
locatorThe Locator instance for error reporting. May be 0.
Returns:
A pointer to the new instance.

Implements StylesheetConstructionContext.

virtual ElemTemplateElement* StylesheetConstructionContextDefault::createElement ( Stylesheet stylesheetTree,
const XalanDOMChar *  name,
const AttributeListType atts,
ExtensionNSHandler handler,
const LocatorType locator = 0 
) [virtual]

Create an element to handle an extension element.

The instance owns the memory and will delete the element when it goes out of scope and the containing stylesheet is destroyed.

Parameters:
stylesheetTreeThe stylesheet containing the element
nameThe name of the element
attsThe list of attributes for the element
handlerThe handler for elements in the extension namespace
locatorThe Locator instance for error reporting. May be 0.
Returns:
A pointer to the new instance.

Implements StylesheetConstructionContext.

virtual XPath* StylesheetConstructionContextDefault::createMatchPattern ( const LocatorType locator,
const XalanDOMString str,
const PrefixResolver resolver,
bool  allowVariableReferences = true,
bool  allowKeyFunction = true 
) [virtual]

Create and initialize an xpath for a match pattern and return it.

This is to be used by stylesheet elements that need an XPath that is guaranteed to persist while it lives.

Parameters:
locatorthe locator for the XPath. May be null.
strstring to match
resolverresolver for namespace resolution
allowVariableReferencesIf true, variable references are allowed.
allowKeyFunctionIf true, calls to the key() function are allowed.
Returns:
XPath for match pattern

Implements StylesheetConstructionContext.

virtual XPath* StylesheetConstructionContextDefault::createMatchPattern ( const LocatorType locator,
const XalanDOMChar *  str,
const PrefixResolver resolver,
bool  allowVariableReferences = true,
bool  allowKeyFunction = true 
) [virtual]

Create and initialize an xpath for a match pattern and return it.

This is to be used by stylesheet elements that need an XPath that is guaranteed to persist while it lives.

Parameters:
locatorthe locator for the XPath. May be null.
strstring to match
resolverresolver for namespace resolution
allowVariableReferencesIf true, variable references are allowed.
allowKeyFunctionIf true, calls to the key() function are allowed.
Returns:
XPath for match pattern

Implements StylesheetConstructionContext.

virtual const XalanMatchPatternData* StylesheetConstructionContextDefault::createXalanMatchPatternData ( const ElemTemplate theTemplate,
size_type  thePosition,
const XalanDOMString theTargetString,
const XPath theMatchPattern,
const XalanDOMString thePatternString,
XPath::eMatchScore  thePriority 
) [virtual]

Create an instance of XalanMatchPatternData, which describes data related to a match pattern and template in stylesheet.

The instance owns the memory and will delete the element when it goes out of scope and the containing stylesheet is destroyed.

Parameters:
theTemplateThe ElemTemplate node that contains the template for this pattern
thePositionThe position in the stylesheet
theTargetStringThe target string for match pattern
TheMatchPatternThe match pattern
thePatternStringthe pattern string
thePriorityThe priority for the match pattern.
Returns:
A pointer to the new instance.

Implements StylesheetConstructionContext.

virtual const XalanQName* StylesheetConstructionContextDefault::createXalanQName ( const XalanDOMChar *  qname,
const NamespacesStackType namespaces,
const LocatorType locator = 0,
bool  fUseDefault = false 
) [virtual]

Create a XalanQName-derived instance.

Parameters:
qnameThe qname string
namespacesThe stack of namespaces
LocatorThe current Locator, if any
fUseDefaultIf true, a qname without a prefix will use the default namespace
Returns:
A pointer to the new instance

Implements StylesheetConstructionContext.

virtual const XalanQName* StylesheetConstructionContextDefault::createXalanQName ( const XalanDOMString qname,
const NamespacesStackType namespaces,
const LocatorType locator = 0,
bool  fUseDefault = false 
) [virtual]

Create a XalanQName-derived instance.

Parameters:
qnameThe qname string
namespacesThe stack of namespaces
LocatorThe current Locator, if any
fUseDefaultIf true, a qname without a prefix will use the default namespace
Returns:
A pointer to the new instance

Implements StylesheetConstructionContext.

virtual XPath* StylesheetConstructionContextDefault::createXPath ( const LocatorType locator,
const XalanDOMString str,
const PrefixResolver resolver,
bool  allowVariableReferences = true,
bool  allowKeyFunction = true 
) [virtual]

Create and initialize an xpath and return it.

This is to be used by stylesheet elements that need an XPath that is guaranteed to persist while it lives.

Parameters:
locatorthe locator for the XPath. May be null.
strstring to match
resolverresolver for namespace resolution
Returns:
XPath for string matched

Implements StylesheetConstructionContext.

virtual XPath* StylesheetConstructionContextDefault::createXPath ( const LocatorType locator,
const XalanDOMChar *  str,
const PrefixResolver resolver,
bool  allowVariableReferences = true,
bool  allowKeyFunction = true 
) [virtual]

Create and initialize an xpath and return it.

This is to be used by stylesheet elements that need an XPath that is guaranteed to persist while it lives.

Parameters:
locatorthe locator for the XPath. May be null.
strstring to match
resolverresolver for namespace resolution
Returns:
XPath for string matched

Implements StylesheetConstructionContext.

virtual XPath* StylesheetConstructionContextDefault::createXPath ( const LocatorType locator,
const XalanDOMChar *  str,
XalanDOMString::size_type  len,
const PrefixResolver resolver,
bool  allowVariableReferences = true,
bool  allowKeyFunction = true 
) [virtual]

Create and initialize an xpath and return it.

This is to be used by stylesheet elements that need an XPath that is guaranteed to persist while it lives.

Parameters:
locatorthe locator for the XPath. May be null.
strstring to match
resolverresolver for namespace resolution
Returns:
XPath for string matched

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::destroy ( StylesheetRoot theStylesheetRoot) [virtual]

Destroy a StylesheetRoot instance.

If this StylesheetConstructionContext instance does not own the StylesheetRoot, it will not delete it

Parameters:
theStylesheetA pointer to the StylesheetRoot instance to delete.

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::error ( const XalanDOMString msg,
const XalanNode sourceNode = 0,
const ElemTemplateElement styleNode = 0 
) const [virtual]
virtual void StylesheetConstructionContextDefault::error ( const XalanDOMString msg,
const XalanNode sourceNode,
const LocatorType locator 
) const [virtual]
virtual XalanDOMString& StylesheetConstructionContextDefault::getCachedString ( ) [virtual]

Get a cached string for temporary use.

Returns:
A reference to the string

Implements StylesheetConstructionContext.

static eElementToken StylesheetConstructionContextDefault::getElementNameToken ( const XalanDOMString name) [static]
virtual eElementToken StylesheetConstructionContextDefault::getElementToken ( const XalanDOMString name) const [virtual]

Given an XSL tag name, return an integer token that corresponds to the enums defined above.

Parameters:
namea probable xsl:xxx element
Returns:
The enum value for that token, or ELEMNAME_UNDEFINED

Implements StylesheetConstructionContext.

virtual const LocatorType* StylesheetConstructionContextDefault::getLocatorFromStack ( ) const [virtual]

Get the locator from the top of the locator stack.

Returns:
A pointer to the Locator, or 0 if there is nothing on the stack.

Implements StylesheetConstructionContext.

virtual const XalanDOMString& StylesheetConstructionContextDefault::getPooledString ( const XalanDOMString theString) [virtual]

Get a pooled string given the source string.

If the string already exists in the pool, no copy will be made. If not, a copy will be made and kept for later use.

Parameters:
theStringThe source string
Returns:
a const reference to a pooled string.

Implements StylesheetConstructionContext.

virtual const XalanDOMString& StylesheetConstructionContextDefault::getPooledString ( const XalanDOMChar *  theString,
XalanDOMString::size_type  theLength = XalanDOMString::npos 
) [virtual]

Get a pooled string given the source character array.

If the string already exists in the pool, no copy will be made. If not, a copy will be made and kept for later use.

Parameters:
theStringThe source character array
theLengthThe length of the character array
Returns:
a const reference to a pooled string.

Implements StylesheetConstructionContext.

virtual URLAutoPtrType StylesheetConstructionContextDefault::getURLFromString ( const XalanDOMString urlString) [virtual]

Determine the fully qualified URI for a string.

Parameters:
urlStringstring to qualify
Returns:
auto pointer to fully qualified URI

Implements StylesheetConstructionContext.

virtual URLAutoPtrType StylesheetConstructionContextDefault::getURLFromString ( const XalanDOMString urlString,
const XalanDOMString base 
) [virtual]

Determine the fully qualified URI for a string.

Parameters:
urlStringstring to qualify
basebase location for URI
Returns:
auto pointer to fully qualified URI

Implements StylesheetConstructionContext.

virtual XalanDOMString& StylesheetConstructionContextDefault::getURLStringFromString ( const XalanDOMString urlString,
const XalanDOMString base,
XalanDOMString theResult 
) [virtual]

Determine the fully qualified URI for a string.

Parameters:
urlStringstring to qualify
basebase location for URI
Returns:
string to fully qualified URI

Implements StylesheetConstructionContext.

virtual XalanDOMString& StylesheetConstructionContextDefault::getURLStringFromString ( const XalanDOMString urlString,
XalanDOMString theResult 
) [virtual]

Determine the fully qualified URI for a string.

Parameters:
urlStringstring to qualify
Returns:
string to fully qualified URI

Implements StylesheetConstructionContext.

virtual const XalanDOMString& StylesheetConstructionContextDefault::getXalanXSLNameSpaceURL ( ) const [virtual]

Get the Xalan namespace for built-in extensions.

Returns:
Xalan namespace for extensions

Implements StylesheetConstructionContext.

virtual const XalanDOMString& StylesheetConstructionContextDefault::getXSLTNamespaceURI ( ) const [virtual]

Retrieve the URI for the current XSLT namespace, for example, "http://www.w3.org/1999/XSL/Transform".

Returns:
URI string

Implements StylesheetConstructionContext.

virtual double StylesheetConstructionContextDefault::getXSLTVersionSupported ( ) const [virtual]

Get the latest XSLT version currently supported.

Returns:
XSLT version number

Implements StylesheetConstructionContext.

virtual bool StylesheetConstructionContextDefault::isValidQName ( const XalanDOMChar *  theName,
const Stylesheet theStylesheet,
const LocatorType theLocator = 0 
) [virtual]

Given an name, determine if it is a valid QName.

Parameters:
theNameThe name to check
theStylesheetThe current Stylesheet instance
theLocatorThe Locator for error reporting. May be 0.
Returns:
true if the string is a valid QName.

Implements StylesheetConstructionContext.

virtual bool StylesheetConstructionContextDefault::isXMLSpaceAttribute ( const XalanDOMChar *  theAttributeName,
const Stylesheet theStylesheet,
const LocatorType theLocator = 0 
) [virtual]

Given an name, determine if it is the xml:space attribute.

Parameters:
theAttributeNameThe name to check
theStylesheetThe current Stylesheet instance
theLocatorThe Locator for error reporting. May be 0.
Returns:
true if the string is the xml:space attribute name

Implements StylesheetConstructionContext.

virtual bool StylesheetConstructionContextDefault::isXSLUseAttributeSetsAttribute ( const XalanDOMChar *  theAttributeName,
const Stylesheet theStylesheet,
const LocatorType theLocator = 0 
) [virtual]

Given an name, determine if it is the xsl:use-attribute-sets attribute.

Parameters:
theAttributeNameThe name to check
theStylesheetThe current Stylesheet instance
theLocatorThe Locator for error reporting. May be 0.
Returns:
true if the string is the xsl:use-attribute-sets attribute name

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::message ( const XalanDOMString msg,
const XalanNode sourceNode,
const LocatorType locator 
) const [virtual]
virtual void StylesheetConstructionContextDefault::message ( const XalanDOMString msg,
const XalanNode sourceNode = 0,
const ElemTemplateElement styleNode = 0 
) const [virtual]
virtual XalanDocument* StylesheetConstructionContextDefault::parseXML ( const XalanDOMString urlString,
DocumentHandlerType docHandler,
XalanDocument docToRegister 
) [virtual]

Read in the XML file, either producing a Document or calling SAX events, and register the document in a table.

If the document has already been read in, it will not be reparsed.

Parameters:
urlStringlocation of the XML
docHandlerpointer to SAX event handler
docToRegisterif using a SAX event handler, the object to register in the source docs table.
Returns:
document object, which represents the parsed XML
Exceptions:
SAXException

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::popLocatorStack ( ) [virtual]

Pop the locator from the top of the locator stack.

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::pushLocatorOnStack ( const LocatorType locator) [virtual]

Push a locator on to the locator stack.

Parameters:
Apointer to the Locator to push.

Implements StylesheetConstructionContext.

virtual bool StylesheetConstructionContextDefault::releaseCachedString ( XalanDOMString theString) [virtual]

Return a cached string.

Parameters:
theStringThe string to release.
Returns:
true if the string was released successfully.

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::reset ( ) [virtual]

Reset the StylesheetConstructionContext instance.

Any existing objects created by the instance will be destroyed.

Implements StylesheetConstructionContext.

virtual const XalanQName** StylesheetConstructionContextDefault::tokenizeQNames ( size_type count,
const XalanDOMChar *  qnameTokens,
const NamespacesStackType namespaces,
const LocatorType locator = 0,
bool  fUseDefault = false 
) [virtual]

Tokenize a string and return the QNames corresponding to those tokens.

Parameters:
countThe number of namespaces in the vector returned
qnameTokensThe string to tokenize
namespacesThe stack of namespaces
LocatorThe current Locator, if any
fUseDefaultIf true, qnames without prefixes will use the default namespace
Returns:
The resulting vector of XalanQName instances.

Implements StylesheetConstructionContext.

virtual void StylesheetConstructionContextDefault::warn ( const XalanDOMString msg,
const XalanNode sourceNode,
const LocatorType locator 
) const [virtual]
virtual void StylesheetConstructionContextDefault::warn ( const XalanDOMString msg,
const XalanNode sourceNode = 0,
const ElemTemplateElement styleNode = 0 
) const [virtual]

The documentation for this class was generated from the following file:

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo