18#if !defined(STYLESHEETCONSTRUCTIONCONTEXT_HEADER_GUARD_1357924680)
19#define STYLESHEETCONSTRUCTIONCONTEXT_HEADER_GUARD_1357924680
42namespace XERCES_CPP_NAMESPACE
45 class DocumentHandler;
55typedef xercesc::AttributeList AttributeListType;
58using xercesc::AttributeList;
59using xercesc::DocumentHandler;
60using xercesc::Locator;
67class ElemTemplateElement;
68class ExtensionNSHandler;
73class XalanMatchPatternData;
95 ELEMNAME_UNDEFINED = -2,
154 ELEMNAME_EXTENSION_HANDLER
172 const Locator* locator,
190 const XalanDOMChar* theString,
312 const Locator* locator,
315 bool allowVariableReferences =
true,
316 bool allowKeyFunction =
true) = 0;
332 const Locator* locator,
333 const XalanDOMChar* str,
335 bool allowVariableReferences =
true,
336 bool allowKeyFunction =
true) = 0;
350 const Locator* locator,
353 bool allowVariableReferences =
true,
354 bool allowKeyFunction =
true) = 0;
368 const Locator* locator,
369 const XalanDOMChar* str,
371 bool allowVariableReferences =
true,
372 bool allowKeyFunction =
true) = 0;
386 const Locator* locator,
387 const XalanDOMChar* str,
390 bool allowVariableReferences =
true,
391 bool allowKeyFunction =
true) = 0;
398 virtual const Locator*
437 DocumentHandler* docHandler,
439 ErrorHandler* theErrorHandler = 0) = 0;
452 const XalanDOMChar* theAttributeName,
454 const Locator* theLocator = 0) = 0;
467 const XalanDOMChar* theAttributeName,
469 const Locator* theLocator = 0) = 0;
482 const XalanDOMChar* theName,
484 const Locator* theLocator = 0) = 0;
511 virtual XalanDOMChar*
523 virtual XalanDOMChar*
525 const XalanDOMChar* theString,
527 bool fTerminate =
true) = 0;
540 const Locator* locator,
541 const XalanDOMChar* name,
542 const XalanDOMChar* stringedValue,
555 const XalanDOMChar* theString,
569 const Locator* locator,
570 const XalanDOMChar* str,
607 const Locator* locator = 0,
608 bool fUseDefault =
false) = 0;
621 const XalanDOMChar* qname,
623 const Locator* locator = 0,
624 bool fUseDefault =
false) = 0;
640 const XalanDOMChar* qnameTokens,
642 const Locator* locator = 0,
643 bool fUseDefault =
false) = 0;
662 const AttributeList& atts,
663 const Locator* locator = 0) = 0;
682 const XalanDOMChar* name,
683 const AttributeList& atts,
684 const Locator* locator = 0) = 0;
703 const XalanDOMChar* chars,
706 bool disableOutputEscaping,
707 const Locator* locator = 0) = 0;
726 const XalanDOMChar* name,
727 const AttributeList& atts,
729 const Locator* locator = 0) = 0;
752 const XPath& theMatchPattern,
#define XALAN_CPP_NAMESPACE
#define XALAN_XSLT_EXPORT
Class to hold a part, either a string or XPath, of an Attribute Value Template.
Class to hold an Attribute Value Template.
This class defines an interface for classes that resolve namespace prefixes to their URIs.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
virtual XPath * createXPath(const Locator *locator, const XalanDOMChar *str, const PrefixResolver &resolver, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Create and initialize an xpath and return it.
virtual XPath * createXPath(const Locator *locator, const XalanDOMChar *str, XalanDOMString::size_type len, const PrefixResolver &resolver, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Create and initialize an xpath and return it.
virtual const AVTPart * createAVTPart(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos)=0
Create an AVTPart instance.
virtual const Locator * getLocatorFromStack() const =0
Get the locator from the top of the locator stack.
virtual XalanDOMString & getURLStringFromString(const XalanDOMString &urlString, XalanDOMString &theResult)=0
Determine the fully qualified URI for a string.
virtual const AVT * createAVT(const Locator *locator, const XalanDOMChar *name, const XalanDOMChar *stringedValue, const PrefixResolver &resolver)=0
Create an AVT instance.
virtual const AVTPart * createAVTPart(const Locator *locator, const XalanDOMChar *str, XalanDOMString::size_type len, const PrefixResolver &resolver)=0
Create an AVTPart instance.
virtual ElemTemplateElement * createElement(int token, Stylesheet &stylesheetTree, const AttributeList &atts, const Locator *locator=0)=0
Create a stylesheet element for the provided type.
virtual StylesheetRoot * create(const XalanDOMString &theBaseIdentifier)=0
Create a new StylesheetRoot instance.
virtual XalanDOMString & getCachedString()=0
Get a cached string for temporary use.
virtual void destroy(StylesheetRoot *theStylesheetRoot)=0
Destroy a StylesheetRoot instance.
virtual ElemTemplateElement * createElement(Stylesheet &stylesheetTree, const XalanDOMChar *name, const AttributeList &atts, ExtensionNSHandler &handler, const Locator *locator=0)=0
Create an element to handle an extension element.
virtual ElemTemplateElement * createElement(Stylesheet &stylesheetTree, const XalanDOMChar *chars, XalanDOMString::size_type length, bool preserveSpace, bool disableOutputEscaping, const Locator *locator=0)=0
Create a an element for literal text.
virtual ~StylesheetConstructionContext()
virtual XPath * createMatchPattern(const Locator *locator, const XalanDOMChar *str, const PrefixResolver &resolver, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Create and initialize an xpath for a match pattern and return it.
virtual URLAutoPtrType getURLFromString(const XalanDOMString &urlString, const XalanDOMString &base)=0
Determine the fully qualified URI for a string.
virtual const AVTPart ** allocateAVTPartPointerVector(size_type theLength)=0
Allocate a vector of const AVTPart* of the specified length.
virtual const XalanQName * createXalanQName(const XalanDOMString &qname, const NamespacesStackType &namespaces, const Locator *locator=0, bool fUseDefault=false)=0
Create a XalanQName-derived instance.
StylesheetConstructionContext(MemoryManager &theManager)
virtual XalanDOMChar * allocateXalanDOMCharVector(XalanDOMString::size_type theLength)=0
Allocate a vector of XalanDOMChar of the specified size.
virtual const XalanDOMString & getXalanXSLNameSpaceURL() const =0
Get the Xalan namespace for built-in extensions.
virtual bool isXSLUseAttributeSetsAttribute(const XalanDOMChar *theAttributeName, const Stylesheet &theStylesheet, const Locator *theLocator=0)=0
Given an name, determine if it is the xsl:use-attribute-sets attribute.
virtual void popLocatorStack()=0
Pop the locator from the top of the locator stack.
virtual StylesheetRoot * create(const XSLTInputSource &theInputSource)=0
Create a new StylesheetRoot instance.
virtual void pushLocatorOnStack(const Locator *locator)=0
Push a locator on to the locator stack.
virtual const XalanQName ** tokenizeQNames(size_type &count, const XalanDOMChar *qnameTokens, const NamespacesStackType &namespaces, const Locator *locator=0, bool fUseDefault=false)=0
Tokenize a string and return the QNames corresponding to those tokens.
virtual XalanDOMChar * allocateXalanDOMCharVector(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos, bool fTerminate=true)=0
Allocate a vector of XalanDOMChar of the specified size.
virtual const XalanQName * createXalanQName(const XalanDOMChar *qname, const NamespacesStackType &namespaces, const Locator *locator=0, bool fUseDefault=false)=0
Create a XalanQName-derived instance.
virtual XPath * createMatchPattern(const Locator *locator, const XalanDOMString &str, const PrefixResolver &resolver, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Create and initialize an xpath for a match pattern and return it.
virtual XPath * createXPath(const Locator *locator, const XalanDOMString &str, const PrefixResolver &resolver, bool allowVariableReferences=true, bool allowKeyFunction=true)=0
Create and initialize an xpath and return it.
virtual eElementToken getElementToken(const XalanDOMString &name) const =0
Given an XSL tag name, return an integer token that corresponds to the enums defined above.
eElementToken
IDs for XSL element types.
@ ELEMNAME_EXTENSION_CALL
@ ELEMNAME_TEXT_LITERAL_RESULT
@ ELEMNAME_PRESERVE_SPACE
@ ELEMNAME_APPLY_TEMPLATES
@ ELEMNAME_DECIMAL_FORMAT
@ ELEMNAME_LITERAL_RESULT
@ ELEMNAME_FORWARD_COMPATIBLE
@ ELEMNAME_NAMESPACE_ALIAS
virtual XalanDOMString & getURLStringFromString(const XalanDOMString &urlString, const XalanDOMString &base, XalanDOMString &theResult)=0
Determine the fully qualified URI for a string.
virtual bool isXMLSpaceAttribute(const XalanDOMChar *theAttributeName, const Stylesheet &theStylesheet, const Locator *theLocator=0)=0
Given an name, determine if it is the xml:space attribute.
virtual URLAutoPtrType getURLFromString(const XalanDOMString &urlString)=0
Determine the fully qualified URI for a string.
virtual ElemTemplateElement * createElement(int token, Stylesheet &stylesheetTree, const XalanDOMChar *name, const AttributeList &atts, const Locator *locator=0)=0
Create a elements which have specific names.
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const Locator *locator, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
XalanQName::NamespacesStackType NamespacesStackType
virtual bool isValidQName(const XalanDOMChar *theName, const Stylesheet &theStylesheet, const Locator *theLocator=0)=0
Given an name, determine if it is a valid QName.
virtual double getXSLTVersionSupported() const =0
Get the latest XSLT version currently supported.
virtual void reset()=0
Reset the instance.
virtual const XalanMatchPatternData * createXalanMatchPatternData(const ElemTemplate &theTemplate, size_type thePosition, const XalanDOMString &theTargetString, const XPath &theMatchPattern, const XalanDOMString &thePatternString, XPath::eMatchScore thePriority)=0
Create an instance of XalanMatchPatternData, which describes data related to a match pattern and temp...
virtual XalanDocument * parseXML(const XalanDOMString &urlString, DocumentHandler *docHandler, XalanDocument *docToRegister, ErrorHandler *theErrorHandler=0)=0
Read in the XML file, either producing a Document or calling SAX events, and register the document in...
virtual const XalanDOMString & getXSLTNamespaceURI() const =0
Retrieve the URI for the current XSLT namespace, for example, "http://www.w3.org/1999/XSL/Transform".
virtual Stylesheet * create(StylesheetRoot &theStylesheetRoot, const XalanDOMString &theBaseIdentifier)=0
Create a new Stylesheet instance.
URISupport::URLAutoPtrType URLAutoPtrType
virtual const AVT ** allocateAVTPointerVector(size_type theLength)=0
Allocate a vector of const AVT* of the specified length.
virtual const XalanDOMString & getPooledString(const XalanDOMString &theString)=0
Get a pooled string given the source string.
virtual bool releaseCachedString(XalanDOMString &theString)=0
Return a cached string.
virtual const XalanDOMString & getPooledString(const XalanDOMChar *theString, XalanDOMString::size_type theLength=XalanDOMString::npos)=0
Get a pooled string given the source character array.
This acts as the stylesheet root of the stylesheet tree, and holds values that are shared by all styl...
This class represents the base stylesheet or an "import" stylesheet.
Xalan implementation of deque.
This class contains information concerning a match pattern in a stylesheet.
Class to represent a qualified name.
xercesc::DocumentHandler DocumentHandlerType