19#if !defined(XALAN_STYLESHEETHANDLER_HEADER_GUARD)
20#define XALAN_STYLESHEETHANDLER_HEADER_GUARD
56class ElemTemplateElement;
58class ExtensionNSHandler;
59class StylesheetConstructionContext;
105 return m_constructionContext.getMemoryManager();
422 enum { eElemEmptyAllocatorBlockSize = 10, eElemTextBlockSize = 10 };
432 illegalAttributeError(
493 processAccumulatedText();
496 processTopLevelElement(
513 processPreserveStripSpace(
520 appendChildElementToParent(
525 appendChildElementToParent(
530 appendChildElementToParent(
536 inExtensionElement()
const;
539 processExtensionElement(
546 checkForOrAddVariableName(
575 ElemTemplateStackType m_elemStack;
582 ElemTextLiteralStackType m_whiteSpaceElems;
589 class LastPoppedHolder
613 return m_lastPopped == theRHS;
619 return m_lastPopped != theRHS;
623 operator=(ElemTemplateElement* theRHS)
625 if (theRHS != m_lastPopped)
629 m_lastPopped = theRHS;
634 swap(LastPoppedHolder& theOther)
636 ElemTemplateElement*
const theTemp = m_lastPopped;
638 m_lastPopped = theOther.m_lastPopped;
640 theOther.m_lastPopped = theTemp;
652 set(ElemTemplateElement* theNewElement)
654 if (theNewElement != m_lastPopped)
658 m_lastPopped = theNewElement;
664 operator=(
const LastPoppedHolder&);
666 LastPoppedHolder(
const LastPoppedHolder&);
673 StylesheetHandler& m_stylesheetHandler;
675 ElemTemplateElement* m_lastPopped;
678 friend class LastPoppedHolder;
683 LastPoppedHolder m_lastPopped;
694 bool m_foundStylesheet;
701 bool m_foundNotImport;
719 unsigned long m_locatorsPushed;
723 enum { eVariablesStackDefault = 20 };
725 QNameSetVectorType m_inScopeVariableNamesStack;
743 class PushPopIncludeState;
745 friend class StylesheetHandler::PushPopIncludeState;
747 class PushPopIncludeState
753 ~PushPopIncludeState();
763 LastPoppedHolder m_lastPopped;
765 const bool m_inTemplate;
767 const bool m_foundStylesheet;
771 const bool m_foundNotImport;
#define XALAN_XSLT_EXPORT
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
This class processes a stylesheet via SAX events, and inits the given stylesheet.
XalanSet< XalanQNameByReference > QNameSetType
virtual void cdata(const XMLCh *const ch, const size_type length)
Receive notification of cdata.
virtual void ignorableWhitespace(const XMLCh *const chars, const size_type length)
Receive notification of ignorable whitespace in element content.
void processInclude(const XalanDOMChar *name, const AttributeListType &atts, const Locator *locator)
Process xsl:include.
StylesheetHandler(Stylesheet &stylesheetTree, StylesheetConstructionContext &constructionContext)
Construct a StylesheetHandler ... it will add the DOM nodes to the document fragment.
virtual void endDocument()
Receive notification of the end of a document.
virtual void characters(const XMLCh *const chars, const size_type length)
Receive notification of character data.
XalanVector< bool > BoolStackType
virtual void resetDocument()
This method allows the user installed Document Handler to 'reset' itself, freeing all the memory reso...
XalanVector< ElemTemplateElement * > ElemTextLiteralStackType
virtual void entityReference(const XMLCh *const data)
Receive notification of a entityReference.
MemoryManager & getMemoryManager()
virtual void charactersRaw(const XMLCh *const chars, const size_type length)
Receive notification of character data.
virtual void startDocument()
Receive notification of the beginning of a document.
bool isAttrOK(const XalanDOMChar *attrName, const AttributeListType &atts, XalanSize_t which)
See if this is a xmlns attribute, and, if so, process it.
virtual void comment(const XMLCh *const data)
Called when a Comment is to be constructed.
virtual void startElement(const XMLCh *const name, AttributeListType &attrs)
Receive notification of the beginning of an element.
static void terminate()
Perform static shut down.
void processImport(const XalanDOMChar *name, const AttributeListType &atts, const Locator *locator)
Process xsl:import.
virtual void setDocumentLocator(const Locator *const locator)
Receive an object for locating the origin of SAX document events.
XalanVector< ElemTemplateElement * > ElemTemplateStackType
static void initialize(MemoryManager &theManager)
Perform static initialization.
virtual ~StylesheetHandler()
bool processSpaceAttr(const XalanDOMChar *elementName, const XalanDOMChar *aname, const AttributeListType &atts, XalanSize_t which, const Locator *locator, bool &fPreserve)
Tell whether or not this is a xml:space attribute and, if so, process it.
XalanVector< QNameSetType, ConstructWithMemoryManagerTraits< QNameSetType > > QNameSetVectorType
virtual void endElement(const XMLCh *const name)
Receive notification of the end of an element.
bool processSpaceAttr(const XalanDOMChar *elementName, const AttributeListType &atts, const Locator *locator, bool &fPreserve)
Tell whether or not this is a xml:space attribute and, if so, process it.
virtual void processingInstruction(const XMLCh *const target, const XMLCh *const data)
Receive notification of a processing instruction.
This class represents the base stylesheet or an "import" stylesheet.
Xalan implementation of deque.
Class to represent a qualified name.
void swap(XalanVector< Type > &theLHS, XalanVector< Type > &theRHS)
xercesc::AttributeList AttributeListType
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
bool operator!=(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)