## Xalan-C++ API Documentation

### The Xalan C++ XSLT Processor Version 1.7

Main Page Class Hierarchy Alphabetical List Compound List File List Compound Members File Members

# StylesheetRoot Class Reference

This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all stylesheets in the tree. More...

`#include <StylesheetRoot.hpp>`

Inheritance diagram for StylesheetRoot

Collaboration diagram for StylesheetRoot:

List of all members.

## Public Types

- typedef std::vector<const
  XalanQName*> XalanQNameVectorType
- typedef std::vector<const
  XPath*> XPathVectorType
- typedef std::vector<ElemAttributeSet*> AttributeSetVectorType
- typedef std::map<const XalanQName*,
  AttributeSetVectorType, pointer_less<
  const XalanQName> > AttributeSetMapType

## Public Methods

- StylesheetRoot ( const XalanDOMString& baseIdentifier, StylesheetConstructionContext& constructionContext)
    Construct a Stylesheet from a Document. More...
- virtual ~StylesheetRoot ()
- virtual void postConstruction (StylesheetConstructionContext& constructionContext)
    Called after construction is completed.
- void process ( XalanNode* sourceTree, XSLTResultTarget& outputTarget, StylesheetExecutionContext& executionContext) const
    Transform the source tree to the output in the given result tree target. More...
- FormatterListener* setupFormatterListener ( XSLTResultTarget& outputTarget, StylesheetExecutionContext& executionContext) const
    Have the stylesheet create the appropriate FormatterListener, based on the XSLTResultTarget provided. More...
- FormatterListener::eFormat getOutputMethod () const
    Return the output method that was specified in the stylesheet. More...
- bool isOutputMethodSet () const
- XalanDOMString getOutputVersion () const
    Get the output version string that was specified in the xsl:output element. More...
- bool getOutputIndent () const
    Determine if output indenting was specified in the xsl:output element. More...
- XalanDOMString getOutputEncoding () const
    Get the output encoding string that was specified in the xsl:output element. More...
- XalanDOMString getOutputMediaType () const
    Get the media-type string that was specified in the xsl:output element. More...
- XalanDOMString getOutputDoctypeSystem () const
    Get the doctype-system-id string that was specified in the xsl:output element. More...
- XalanDOMString getOutputDoctypePublic () const
    Get the doctype-public-id string that was specified in the xsl:output element. More...
- bool getOmitOutputXMLDecl () const
    Determine whether to output XML declarations. More...
- XalanDOMString getOutputStandalone () const
    Get the standalone string that was specified in the xsl:output element.(either "yes" or "no"). More...
- ElemTemplateElement* getDefaultTextRule () const
    Get the template representing the default rule for text. More...
- ElemTemplateElement* getDefaultRule () const
    Get the template representing the default rule. More...
- ElemTemplateElement* getDefaultRootRule () const
    Get the template representing the default root rule. More...
- void processOutputSpec ( const XalanDOMChar* name, const AttributeListType& atts, StylesheetConstructionContext& constructionContext)
    Process the "xsl:output" element. More...
- URLStackType& getImportStack ()
    Retrieve the stack of imported stylesheets. More...
- const URLStackType& getImportStack () const
    Retrieve the stack of imported stylesheets. More...
- void setIndentResult (bool bIndent)
    Change the value of the flag for indenting results. More...
- void setOutputMethod (FormatterListener::eFormat meth)
    Change the value of the output method, one of the FormatterListener::eFormat values. More...
- bool hasCDATASectionElements () const
- bool isCDATASectionElementName (const XalanQName& theQName) const
    Determine if a QName is in the list of CDATA section element QNames. More...
- void getNodeSetByKey ( XalanDocument* doc, const XalanQName& qname, const XalanDOMString& ref, const PrefixResolver& resolver, MutableNodeRefList& nodelist, StylesheetExecutionContext& executionContext, KeyTablesTableType& theKeysTable) const
    Given a valid element key, return the corresponding node list. More...
- unsigned long getNextElemNumberID ()
- unsigned long getElemNumberCount () const
- bool hasPreserveOrStripSpaceElements () const
- void pushWhitespacePreservingElement (const XPath* theXPath)
- void pushWhitespaceStrippingElement (const XPath* theXPath)
- bool shouldStripSourceNode ( StylesheetExecutionContext& executionContext, const XalanText& textNode) const
- void addAttributeSet (ElemAttributeSet& theAttributeSet)
- void executeAttributeSet ( StylesheetExecutionContext& theExecutionContext, const XalanQName& theQName, const LocatorType* theLocator) const

## Detailed Description

This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all stylesheets in the tree.

## Member Typedef Documentation

typedef std::map<const XalanQName*, AttributeSetVectorType, pointer_less<const XalanQName> > StylesheetRoot::AttributeSetMapType

typedef std::vector<ElemAttributeSet*> StylesheetRoot::AttributeSetVectorType

typedef std::vector<const XPath*> StylesheetRoot::XPathVectorType

typedef std::vector<const XalanQName*> StylesheetRoot::XalanQNameVectorType

## Constructor & Destructor Documentation

StylesheetRoot::StylesheetRoot ( | const XalanDOMString & baseIdentifier,
| StylesheetConstructionContext & constructionContext )

Construct a Stylesheet from a Document.

Parameters:

  baseIdentifier | document identifier
  constructionContext | context for construction of object

virtual StylesheetRoot::~StylesheetRoot ( | )`[virtual]`

## Member Function Documentation

void StylesheetRoot::addAttributeSet ( | ElemAttributeSet & theAttributeSet )

void StylesheetRoot::executeAttributeSet ( | StylesheetExecutionContext & theExecutionContext,
| const XalanQName & theQName,
| const LocatorType * theLocator ) const

ElemTemplateElement * StylesheetRoot::getDefaultRootRule ( | ) const`[]`

Get the template representing the default root rule.

Returns:
  pointer to default root template rule

ElemTemplateElement * StylesheetRoot::getDefaultRule ( | ) const`[]`

Get the template representing the default rule.

Returns:
  pointer to default template rule

ElemTemplateElement * StylesheetRoot::getDefaultTextRule ( | ) const`[]`

Get the template representing the default rule for text.

Returns:
  pointer to template rule for text

unsigned long StylesheetRoot::getElemNumberCount ( | ) const`[]`

const URLStackType & StylesheetRoot::getImportStack ( | ) const`[]`

Retrieve the stack of imported stylesheets.

Returns:
  const stack of URIs for stylesheets

URLStackType & StylesheetRoot::getImportStack ( | )`[]`

Retrieve the stack of imported stylesheets.

Returns:
  stack of URIs for stylesheets

unsigned long StylesheetRoot::getNextElemNumberID ( | )`[]`

void StylesheetRoot::getNodeSetByKey ( | XalanDocument * doc,
| const XalanQName & qname,
| const XalanDOMString & ref,
| const PrefixResolver & resolver,
| MutableNodeRefList & nodelist,
| StylesheetExecutionContext & executionContext,
| KeyTablesTableType & theKeysTable ) const

Given a valid element key, return the corresponding node list.

Parameters:

  doc | source document
  name | qname of the key, which must match the 'name' attribute on xsl:key
  ref | value that must match the value found by the 'match' attribute on xsl:key
  resolver | resolver for namespace resolution
  nodelist | A node list to contain the nodes found
  executionContext | current execution context

bool StylesheetRoot::getOmitOutputXMLDecl ( | ) const`[]`

Determine whether to output XML declarations.

Returns:
  true to output declarations

XalanDOMString StylesheetRoot::getOutputDoctypePublic ( | ) const`[]`

Get the doctype-public-id string that was specified in the xsl:output element.

Returns:
  document type public id string

XalanDOMString StylesheetRoot::getOutputDoctypeSystem ( | ) const`[]`

Get the doctype-system-id string that was specified in the xsl:output element.

Returns:
  document type string

XalanDOMString StylesheetRoot::getOutputEncoding ( | ) const`[]`

Get the output encoding string that was specified in the xsl:output element.

Returns:
  encoding string

bool StylesheetRoot::getOutputIndent ( | ) const`[]`

Determine if output indenting was specified in the xsl:output element.

Returns:
  true to indent

XalanDOMString StylesheetRoot::getOutputMediaType ( | ) const`[]`

Get the media-type string that was specified in the xsl:output element.

Returns:
  media type string

FormatterListener::eFormat StylesheetRoot::getOutputMethod ( | ) const`[]`

Return the output method that was specified in the stylesheet.

The returned value is one of FormatterLister::eFormat values.

Returns:
  value of output method

XalanDOMString StylesheetRoot::getOutputStandalone ( | ) const`[]`

Get the standalone string that was specified in the xsl:output element.(either "yes" or "no").

Returns:
  standalone string

XalanDOMString StylesheetRoot::getOutputVersion ( | ) const`[]`

Get the output version string that was specified in the xsl:output element.

Returns:
  output version string

bool StylesheetRoot::hasCDATASectionElements ( | ) const`[]`

bool StylesheetRoot::hasPreserveOrStripSpaceElements ( | ) const`[]`

bool StylesheetRoot::isCDATASectionElementName ( | const XalanQName & theQName ) const

Determine if a QName is in the list of CDATA section element QNames.

Parameters:

  theQName | The QName of the element to check.

Returns:
  true or false

bool StylesheetRoot::isOutputMethodSet ( | ) const`[]`

void StylesheetRoot::postConstruction ( | StylesheetConstructionContext & constructionContext )`[virtual]`

Called after construction is completed.

Reimplemented from Stylesheet.

void StylesheetRoot::process ( | XalanNode * sourceTree,
| XSLTResultTarget & outputTarget,
| StylesheetExecutionContext & executionContext ) const

Transform the source tree to the output in the given result tree target.

Parameters:

  inputSource | The input source
  outputTarget | The output result target
  constructionContext | context for construction of object

void StylesheetRoot::processOutputSpec ( | const XalanDOMChar * name,
| const AttributeListType & atts,
| StylesheetConstructionContext & constructionContext )

Process the "xsl:output" element.

Parameters:

  name | name of element
  atts | attribute list for element
  constructionContext | context for construction of object

void StylesheetRoot::pushWhitespacePreservingElement ( | const XPath * theXPath )`[]`

void StylesheetRoot::pushWhitespaceStrippingElement ( | const XPath * theXPath )`[]`

void StylesheetRoot::setIndentResult ( | bool bIndent )`[]`

Change the value of the flag for indenting results.

Parameters:

  bIndent | true to indent results

void StylesheetRoot::setOutputMethod ( | FormatterListener::eFormat meth )`[]`

Change the value of the output method, one of the FormatterListener::eFormat values.

Parameters:

  meth | new method number

FormatterListener * StylesheetRoot::setupFormatterListener ( | XSLTResultTarget & outputTarget,
| StylesheetExecutionContext & executionContext ) const

Have the stylesheet create the appropriate FormatterListener, based on the XSLTResultTarget provided.

setupFormatterListener also calls setFormatterListener() on the execution context instance. setupFormatterListener() is done automatically by process(), but this is provided as an escape, to allow for changing the FormatterListener on-the-fly.

Parameters:

  outputTarget | The output source tree
  constructionContext | context for construction of object

Returns:
  a pointer to the new FormatterListener instance.

bool StylesheetRoot::shouldStripSourceNode ( | StylesheetExecutionContext & executionContext,
| const XalanText & textNode ) const

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

- StylesheetRoot.hpp

Interpreting class diagrams

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

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