18 #if !defined(XALAN_STYLESHEETROOT_HEADER_GUARD) 19 #define XALAN_STYLESHEETROOT_HEADER_GUARD 49 class ElemAttributeSet;
50 class StylesheetConstructionContext;
89 MemoryManager& theManager,
96 return m_version.getMemoryManager();
130 setupFormatterListener(
143 return m_outputMethod;
149 return getOutputMethod() == FormatterListener::OUTPUT_METHOD_NONE ? false :
true;
161 theResult.
assign(m_version);
175 return m_indentResult == eIndentNoImplicit ||
176 m_indentResult == eIndentNoExplicit ? false :
true;
190 return m_indentResult == eIndentNoExplicit ? false :
true;
202 theResult.
assign(m_encoding);
216 theResult.
assign(m_mediatype);
230 theResult.
assign(m_doctypeSystem);
244 theResult.
assign(m_doctypePublic);
257 return m_omitxmlDecl;
269 theResult.
assign(m_standalone);
282 return m_defaultTextRule;
293 return m_defaultRule;
304 return m_defaultRootRule;
316 const XalanDOMChar* name,
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;
382 isCDATASectionElementName(
const XalanQName& theQName)
const;
405 const Locator* locator,
406 KeyTablesTableType& theKeysTable)
const;
411 return m_elemNumberNextID++;
417 return m_elemNumberNextID;
423 return m_hasStripOrPreserveSpace;
435 if (hasPreserveOrStripSpaceElements() ==
true &&
438 return internalShouldStripSourceNode(theNode);
447 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION) 462 const Locator* theLocator)
const;
468 const Locator* theLocator)
const;
499 internalShouldStripSourceNode(
const XalanText& theNode)
const;
507 enum eIndentType { eIndentNoImplicit, eIndentNoExplicit, eIndentYesImplicit, eIndentYesExplicit };
513 eIndentType m_indentResult;
519 XalanDOMString m_encoding;
525 XalanDOMString m_mediatype;
532 XalanDOMString m_doctypeSystem;
542 XalanDOMString m_doctypePublic;
552 XalanDOMString m_standalone;
558 XalanDOMString m_resultNameSpaceURL;
563 FormatterListener::eFormat m_outputMethod;
569 XalanQNameVectorType m_cdataSectionElems;
571 bool m_hasCDATASectionElems;
577 URLStackType m_importStack;
584 ElemTemplateElement* m_defaultTextRule;
590 ElemTemplateElement* m_defaultRule;
596 ElemTemplateElement* m_defaultRootRule;
601 bool m_needToBuildKeysTable;
606 bool m_outputEscapeURLs;
621 unsigned long m_elemNumberNextID;
626 AttributeSetMapType m_attributeSetsMap;
632 bool m_hasStripOrPreserveSpace;
636 StylesheetRoot(
const StylesheetRoot&);
639 operator=(
const StylesheetRoot&);
651 #endif // XALAN_STYLESHEETROOT_HEADER_GUARD ElemTemplateElement * getDefaultRule() const
Get the template representing the default rule.
ElemTemplateElement * getDefaultRootRule() const
Get the template representing the default root rule.
XalanDOMString & getOutputEncoding(XalanDOMString &theResult) const
Get the output encoding string that was specified in the xsl:output element.
MemoryManager & getMemoryManager()
XalanDOMString & getOutputDoctypeSystem(XalanDOMString &theResult) const
Get the doctype-system-id string that was specified in the xsl:output element.
XalanVector< ElemAttributeSet * > AttributeSetVectorTypeDecl
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
XalanMap< const XalanQName *, AttributeSetVectorType > AttributeSetMapType
Local implementation of MutableNodeRefList.
xercesc::AttributeList AttributeListType
URLStackType & getImportStack()
Retrieve the stack of imported stylesheets.
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.
XalanDOMString & getOutputVersion(XalanDOMString &theResult) const
Get the output version string that was specified in the xsl:output element.
This class defines an interface for classes that resolve namespace prefixes to their URIs...
XalanDOMString & assign(const XalanDOMChar *theSource)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
void setOutputMethod(FormatterListener::eFormat meth)
Change the value of the output method, one of the FormatterListener::eFormat values.
This class represents the base stylesheet or an "import" stylesheet.
Class to represent a qualified name.
unsigned long getNextElemNumberID()
void setIndentResult(bool bIndent)
Change the value of the flag for indenting results.
virtual bool isWhitespace() const =0
Determine whether the text node instance is composed entirely of XML whitespace.
XalanDOMString & getOutputStandalone(XalanDOMString &theResult) const
Get the standalone string that was specified in the xsl:output element.
bool hasCDATASectionElements() const
const URLStackType & getImportStack() const
Retrieve the stack of imported stylesheets.
bool hasPreserveOrStripSpaceElements() const
Xalan implementation of a hashtable.
XalanVector< const XalanQName * > XalanQNameVectorType
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.
unsigned long getElemNumberCount() const
bool getHTMLOutputIndent() const
Determine if output indenting should be enabled for HTML output.
#define XALAN_USES_MEMORY_MANAGER(Type)
#define XALAN_XSLT_EXPORT
ElemTemplateElement * getDefaultTextRule() const
Get the template representing the default rule for text.
bool isOutputMethodSet() const
AttributeSetVectorTypeDecl AttributeSetVectorType
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
bool getOmitOutputXMLDecl() const
Determine whether to output XML declarations.
XalanDOMString & getOutputMediaType(XalanDOMString &theResult) const
Get the media-type string that was specified in the xsl:output element.