## Xalan-C++ API Documentation

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

Main Page | Class Hierarchy | Alphabetical List | Class List | File List | Class Members | File Members | Related Pages

# 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...

Inheritance diagram for StylesheetRoot:

[legend]
Collaboration diagram for StylesheetRoot:

[legend]
List of all members.

## Public Types

- typedef XalanVector< const
  XalanQName * > XalanQNameVectorType
- typedef AttributeSetVectorTypeDecl AttributeSetVectorType
- typedef XalanMap< const XalanQName *,
  AttributeSetVectorType > AttributeSetMapType

## Public Member Functions

- StylesheetRoot (const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)
    Construct a Stylesheet from a Document.
- virtual ~StylesheetRoot ()
- MemoryManagerType & getMemoryManager ()
- 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.
- FormatterListener * setupFormatterListener (XSLTResultTarget &outputTarget, StylesheetExecutionContext &executionContext) const
    Have the stylesheet create the appropriate FormatterListener, based on the XSLTResultTarget provided.
- FormatterListener::eFormat getOutputMethod () const
    Return the output method that was specified in the stylesheet.
- bool isOutputMethodSet () const
- XalanDOMString & getOutputVersion (XalanDOMString &theResult) const
    Get the output version string that was specified in the xsl:output element.
- bool getOutputIndent () const
    Determine if output indenting was specified in the xsl:output element.
- bool getHTMLOutputIndent () const
    Determine if output indenting should be enabled for HTML output.
- XalanDOMString & getOutputEncoding (XalanDOMString &theResult) const
    Get the output encoding string that was specified in the xsl:output element.
- XalanDOMString & getOutputMediaType (XalanDOMString &theResult) const
    Get the media-type string that was specified in the xsl:output element.
- XalanDOMString & getOutputDoctypeSystem (XalanDOMString &theResult) const
    Get the doctype-system-id string that was specified in the xsl:output element.
- XalanDOMString & getOutputDoctypePublic (XalanDOMString &theResult) const
    Get the doctype-public-id string that was specified in the xsl:output element.
- bool getOmitOutputXMLDecl () const
    Determine whether to output XML declarations.
- XalanDOMString & getOutputStandalone (XalanDOMString &theResult) const
    Get the standalone string that was specified in the xsl:output element.(either "yes" or "no").
- ElemTemplateElement * getDefaultTextRule () const
    Get the template representing the default rule for text.
- ElemTemplateElement * getDefaultRule () const
    Get the template representing the default rule.
- ElemTemplateElement * getDefaultRootRule () const
    Get the template representing the default root rule.
- void processOutputSpec (const XalanDOMChar *name, const AttributeListType &atts, StylesheetConstructionContext &constructionContext)
    Process the "xsl:output" element.
- URLStackType & getImportStack ()
    Retrieve the stack of imported stylesheets.
- const URLStackType & getImportStack () const
    Retrieve the stack of imported stylesheets.
- void setIndentResult (bool bIndent)
    Change the value of the flag for indenting results.
- void setOutputMethod (FormatterListener::eFormat meth)
    Change the value of the output method, one of the FormatterListener::eFormat values.
- bool hasCDATASectionElements () const
- bool isCDATASectionElementName (const XalanQName &theQName) const
    Determine if a QName is in the list of CDATA section element QNames.
- 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.
- unsigned long getNextElemNumberID ()
- unsigned long getElemNumberCount () const
- bool hasPreserveOrStripSpaceElements () const
- bool shouldStripSourceNode (const XalanText &textNode) const
- void addAttributeSet (ElemAttributeSet &theAttributeSet)
- const ElemAttributeSet * getAttributeSet (StylesheetExecutionContext &theExecutionContext, const XalanQName &theQName, size_type matchingIndex, const LocatorType *theLocator) const
    Get the nth attribute set with the specified name.

## Static Public Member Functions

- StylesheetRoot * create (MemoryManagerType &theManager, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)

## 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 XalanMap<const XalanQName*, AttributeSetVectorType> StylesheetRoot::AttributeSetMapType

typedef AttributeSetVectorTypeDecl StylesheetRoot::AttributeSetVectorType

typedef XalanVector<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 | ) |

StylesheetRoot* StylesheetRoot::create | ( | MemoryManagerType & | theManager,
|  | const XalanDOMString & | baseIdentifier,
|  | StylesheetConstructionContext & | constructionContext
| ) | `[static]`

const ElemAttributeSet* StylesheetRoot::getAttributeSet | ( | StylesheetExecutionContext & | theExecutionContext,
|  | const XalanQName & | theQName,
|  | size_type | matchingIndex,
|  | const LocatorType * | theLocator
| ) | const

Get the nth attribute set with the specified name.

Parameters:

  execution | context for executing this stylesheet
  theQName | the name of the attribute set
  matchingIndex | index of the attribute set with the specified name
  theLocator | the locator

Returns:
  a pointer to the attribute, 0 if no matching attribute set

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

bool StylesheetRoot::getHTMLOutputIndent | ( |  | ) | const

Determine if output indenting should be enabled for HTML output.

Semantically, this implies the output method is implicit, not explicit, but we don't really check that.

Returns:
  true to indent

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

MemoryManagerType& StylesheetRoot::getMemoryManager | ( |  | ) |

| Reimplemented from Stylesheet.

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 | ( | XalanDOMString & | theResult | ) | const

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

Returns:
  document type public id string

XalanDOMString& StylesheetRoot::getOutputDoctypeSystem | ( | XalanDOMString & | theResult | ) | const

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

Returns:
  document type string

XalanDOMString& StylesheetRoot::getOutputEncoding | ( | XalanDOMString & | theResult | ) | 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 | ( | XalanDOMString & | theResult | ) | 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 | ( | XalanDOMString & | theResult | ) | const

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

Returns:
  standalone string

XalanDOMString& StylesheetRoot::getOutputVersion | ( | XalanDOMString & | theResult | ) | 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

virtual 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::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 | ( | 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.9 Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.