18#if !defined(XALAN_STYLESHEETROOT_HEADER_GUARD)
19#define XALAN_STYLESHEETROOT_HEADER_GUARD
49class ElemAttributeSet;
50class StylesheetConstructionContext;
52class XSLTResultTarget;
96 return m_version.getMemoryManager();
143 return m_outputMethod;
149 return getOutputMethod() == FormatterListener::OUTPUT_METHOD_NONE ?
false :
true;
175 return m_indentResult == eIndentNoImplicit ||
176 m_indentResult == eIndentNoExplicit ?
false :
true;
190 return m_indentResult == eIndentNoExplicit ?
false :
true;
257 return m_omitxmlDecl;
282 return m_defaultTextRule;
293 return m_defaultRule;
304 return m_defaultRootRule;
328 return m_importStack;
339 return m_importStack;
350 m_indentResult =
bIndent ==
true ? eIndentYesExplicit : eIndentNoExplicit;
362 m_outputMethod =
meth;
368 assert((m_hasCDATASectionElems ==
false && m_cdataSectionElems.empty() ==
true ) ||
369 ( m_hasCDATASectionElems ==
true && m_cdataSectionElems.empty() ==
false));
371 return m_hasCDATASectionElems;
411 return m_elemNumberNextID++;
417 return m_elemNumberNextID;
423 return m_hasStripOrPreserveSpace;
435 if (hasPreserveOrStripSpaceElements() ==
true &&
436 theNode.isWhitespace() ==
true)
438 return internalShouldStripSourceNode(
theNode);
447#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
507 enum eIndentType { eIndentNoImplicit, eIndentNoExplicit, eIndentYesImplicit, eIndentYesExplicit };
513 eIndentType m_indentResult;
569 XalanQNameVectorType m_cdataSectionElems;
571 bool m_hasCDATASectionElems;
577 URLStackType m_importStack;
601 bool m_needToBuildKeysTable;
606 bool m_outputEscapeURLs;
621 unsigned long m_elemNumberNextID;
626 AttributeSetMapType m_attributeSetsMap;
632 bool m_hasStripOrPreserveSpace;
#define XALAN_XSLT_EXPORT
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Local implementation of MutableNodeRefList.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
ElemTemplateElement * getDefaultRule() const
Get the template representing the default rule.
StylesheetRoot(const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)
Construct a Stylesheet from a Document.
const URLStackType & getImportStack() const
Retrieve the stack of imported stylesheets.
unsigned long getElemNumberCount() const
AttributeSetVectorTypeDecl AttributeSetVectorType
void setIndentResult(bool bIndent)
Change the value of the flag for indenting results.
bool getOmitOutputXMLDecl() const
Determine whether to output XML declarations.
bool getHTMLOutputIndent() const
Determine if output indenting should be enabled for HTML output.
virtual void postConstruction(StylesheetConstructionContext &constructionContext)
Called after construction is completed.
void setOutputMethod(FormatterListener::eFormat meth)
Change the value of the output method, one of the FormatterListener::eFormat values.
XalanDOMString & getOutputVersion(XalanDOMString &theResult) const
Get the output version string that was specified in the xsl:output element.
FormatterListener * setupFormatterListener(XSLTResultTarget &outputTarget, StylesheetExecutionContext &executionContext) const
Have the stylesheet create the appropriate FormatterListener, based on the XSLTResultTarget provided.
XalanDOMString & getOutputMediaType(XalanDOMString &theResult) const
Get the media-type string that was specified in the xsl:output element.
bool isOutputMethodSet() const
unsigned long getNextElemNumberID()
ElemTemplateElement * getDefaultRootRule() const
Get the template representing the default root rule.
const ElemAttributeSet * getAttributeSet(StylesheetExecutionContext &theExecutionContext, const XalanQName &theQName, size_type matchingIndex, const Locator *theLocator) const
Get the nth attribute set with the specified name.
static StylesheetRoot * create(MemoryManager &theManager, const XalanDOMString &baseIdentifier, StylesheetConstructionContext &constructionContext)
XalanDOMString & getOutputEncoding(XalanDOMString &theResult) const
Get the output encoding string that was specified in the xsl:output element.
virtual ~StylesheetRoot()
void addAttributeSet(ElemAttributeSet &theAttributeSet)
ElemTemplateElement * getDefaultTextRule() const
Get the template representing the default rule for text.
void processOutputSpec(const XalanDOMChar *name, const AttributeListType &atts, StylesheetConstructionContext &constructionContext)
Process the "xsl:output" element.
void getNodeSetByKey(XalanNode *context, const XalanQName &qname, const XalanDOMString &ref, const PrefixResolver &resolver, MutableNodeRefList &nodelist, StylesheetExecutionContext &executionContext, const Locator *locator, KeyTablesTableType &theKeysTable) const
Given a valid element key, return the corresponding node list.
XalanVector< const XalanQName * > XalanQNameVectorType
XalanDOMString & getOutputDoctypeSystem(XalanDOMString &theResult) const
Get the doctype-system-id string that was specified in the xsl:output element.
void process(XalanNode *sourceTree, XSLTResultTarget &outputTarget, StylesheetExecutionContext &executionContext) const
Transform the source tree to the output in the given result tree target.
XalanDOMString & getOutputDoctypePublic(XalanDOMString &theResult) const
Get the doctype-public-id string that was specified in the xsl:output element.
FormatterListener::eFormat getOutputMethod() const
Return the output method that was specified in the stylesheet.
XalanMap< const XalanQName *, AttributeSetVectorType > AttributeSetMapType
URLStackType & getImportStack()
Retrieve the stack of imported stylesheets.
bool isCDATASectionElementName(const XalanQName &theQName) const
Determine if a QName is in the list of CDATA section element QNames.
XalanDOMString & getOutputStandalone(XalanDOMString &theResult) const
Get the standalone string that was specified in the xsl:output element.
bool hasCDATASectionElements() const
MemoryManager & getMemoryManager()
bool hasPreserveOrStripSpaceElements() const
bool shouldStripSourceNode(const XalanText &theNode) const
Check to see if a whitespace text node should be stripped from the source tree.
bool getOutputIndent() const
Determine if output indenting was specified in the xsl:output element.
This class represents the base stylesheet or an "import" stylesheet.
Xalan implementation of a hashtable.
Class to represent a qualified name.
xercesc::AttributeList AttributeListType
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)