Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.11


XPathEnvSupport.hpp
Go to the documentation of this file.
1 /*
2  * Licensed to the Apache Software Foundation (ASF) under one
3  * or more contributor license agreements. See the NOTICE file
4  * distributed with this work for additional information
5  * regarding copyright ownership. The ASF licenses this file
6  * to you under the Apache License, Version 2.0 (the "License");
7  * you may not use this file except in compliance with the License.
8  * You may obtain a copy of the License at
9  *
10  * http://www.apache.org/licenses/LICENSE-2.0
11  *
12  * Unless required by applicable law or agreed to in writing, software
13  * distributed under the License is distributed on an "AS IS" BASIS,
14  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
15  * See the License for the specific language governing permissions and
16  * limitations under the License.
17  */
18 #if !defined(XPATHENVSUPPORT_HEADER_GUARD_1357924680)
19 #define XPATHENVSUPPORT_HEADER_GUARD_1357924680
20 
21 
22 
23 // Base include file. Must be first.
25 
26 
27 
29 
30 
31 
33 
34 
35 
36 XALAN_DECLARE_XERCES_CLASS(Locator)
37 
38 
39 
40 XALAN_CPP_NAMESPACE_BEGIN
41 
42 
43 
44 class NodeRefListBase;
45 class PrefixResolver;
46 class XObject;
48 class XObjectFactory;
49 class XalanDocument;
50 class XalanDOMString;
51 class XalanElement;
52 class XalanNode;
53 class XalanQName;
54 
55 
56 
58 {
59 public:
60 
61  typedef XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType;
62 
64 
66 
67  virtual
69 
70 
71  // These methods are inherited from ProblemListener ...
72  virtual void
74  eSource source,
75  eClassification classification,
76  const XalanDOMString& msg,
77  const Locator* locator,
78  const XalanNode* sourceNode) = 0;
79 
80  virtual void
82  eSource source,
83  eClassification classification,
84  const XalanDOMString& msg,
85  const XalanNode* sourceNode) = 0;
86 
87 
88  // These interfaces are new to XPathEnvSupport
89  /**
90  * Provides support for XML parsing service.
91  *
92  * @param theManager The MemoryManager instance to use.
93  * @param urlString location of the XML
94  * @param base base location for URI
95  * @param theErrorHandler An optional ErrorHandler instance for error reporting.
96  * @return parsed document
97  */
98  virtual XalanDocument*
100  MemoryManager& theManager,
101  const XalanDOMString& urlString,
102  const XalanDOMString& base,
103  ErrorHandler* theErrorHandler = 0) = 0;
104 
105  /**
106  * Get the source document for the given URI.
107  *
108  * @param theURI document URI
109  * @return source document
110  */
111  virtual XalanDocument*
112  getSourceDocument(const XalanDOMString& theURI) const = 0;
113 
114  /**
115  * Associate a document with a given URI.
116  *
117  * @param theURI document URI
118  * @param theDocument source document
119  */
120  virtual void
122  const XalanDOMString& theURI,
123  XalanDocument* theDocument) = 0;
124 
125  /**
126  * Given a DOM Document, tell what URI was used to parse it. Needed for
127  * relative resolution.
128  *
129  * @param owner source document
130  * @return document URI
131  */
132  virtual const XalanDOMString&
133  findURIFromDoc(const XalanDocument* owner) const = 0;
134 
135  /**
136  * Determine if an external element is available.
137  *
138  * @param theNamespace namespace for the element
139  * @param elementName name of extension element
140  * @return whether the element is available or not
141  */
142  virtual bool
144  const XalanDOMString& theNamespace,
145  const XalanDOMString& elementName) const = 0;
146 
147  /**
148  * Determine if a function is available. For standard
149  * function availability, theNamespace should be an
150  * empty string.
151  *
152  * @param theNamespace namespace for the function
153  * @param functionName name of the function
154  * @return whether the function is available or not
155  */
156  virtual bool
158  const XalanDOMString& theNamespace,
159  const XalanDOMString& functionName) const = 0;
160 
161  /**
162  * Handle an extension function.
163  *
164  * @param executionContext current execution context
165  * @param theNamespace namespace of function
166  * @param functionName extension function name
167  * @param argVec vector of arguments to function
168  * @param locator A Locator instance for error reporting.
169  * @return pointer to XObject result
170  */
171  virtual XObjectPtr
173  XPathExecutionContext& executionContext,
174  const XalanDOMString& theNamespace,
175  const XalanDOMString& functionName,
176  XalanNode* context,
177  const XObjectArgVectorType& argVec,
178  const Locator* locator) const = 0;
179 
180  /**
181  * Reset the instance.
182  */
183  virtual void
184  reset() = 0;
185 
186 private:
187 
188  // These are not implemented...
190 
192  operator=(const XPathEnvSupport&);
193 
194  bool
195  operator==(const XPathEnvSupport&) const;
196 };
197 
198 
199 
200 XALAN_CPP_NAMESPACE_END
201 
202 
203 
204 #endif // XPATHENVSUPPORT_HEADER_GUARD_1357924680
XPathEnvSupport::parseXML
virtual XalanDocument * parseXML(MemoryManager &theManager, const XalanDOMString &urlString, const XalanDOMString &base, ErrorHandler *theErrorHandler=0)=0
Provides support for XML parsing service.
XPathEnvSupport::setSourceDocument
virtual void setSourceDocument(const XalanDOMString &theURI, XalanDocument *theDocument)=0
Associate a document with a given URI.
XPathEnvSupport::elementAvailable
virtual bool elementAvailable(const XalanDOMString &theNamespace, const XalanDOMString &elementName) const =0
Determine if an external element is available.
ProblemListenerBase
This is the abstract class that is used when reporting a problem some kind, that requires a message,...
Definition: ProblemListenerBase.hpp:54
PrefixResolver
This class defines an interface for classes that resolve namespace prefixes to their URIs.
Definition: PrefixResolver.hpp:40
XObject
Class to hold XPath return types.
Definition: XObject.hpp:64
ProblemListenerBase::eClassification
eClassification
Definition: ProblemListenerBase.hpp:72
XPathEnvSupport::functionAvailable
virtual bool functionAvailable(const XalanDOMString &theNamespace, const XalanDOMString &functionName) const =0
Determine if a function is available.
XPathEnvSupport::problem
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.
operator==
bool operator==(const ElemAttributeSet &theLHS, const ElemAttributeSet &theRHS)
Definition: ElemAttributeSet.hpp:111
XalanDocument
Definition: XalanDocument.hpp:37
XalanElement
Definition: XalanElement.hpp:45
XPathEnvSupport::findURIFromDoc
virtual const XalanDOMString & findURIFromDoc(const XalanDocument *owner) const =0
Given a DOM Document, tell what URI was used to parse it.
XALAN_XPATH_EXPORT
#define XALAN_XPATH_EXPORT
Definition: XPathDefinitions.hpp:35
XPathEnvSupport::problem
virtual void problem(eSource source, eClassification classification, const XalanDOMString &msg, const XalanNode *sourceNode)=0
Function that is called when a problem event occurs.
ProblemListenerBase::eSource
eSource
Definition: ProblemListenerBase.hpp:59
XPathExecutionContext
Definition: XPathExecutionContext.hpp:80
XPathEnvSupport::XPathEnvSupport
XPathEnvSupport()
XPathEnvSupport::reset
virtual void reset()=0
Reset the instance.
XObjectFactory
This class handles the creation of XObjects and manages their lifetime.
Definition: XObjectFactory.hpp:54
XPathEnvSupport::getSourceDocument
virtual XalanDocument * getSourceDocument(const XalanDOMString &theURI) const =0
Get the source document for the given URI.
XPathEnvSupport::XObjectArgVectorType
Function::XObjectArgVectorType XObjectArgVectorType
Definition: XPathEnvSupport.hpp:63
XPathEnvSupport
Definition: XPathEnvSupport.hpp:58
XalanVector< XObjectPtr >
XalanDOMString
Definition: XalanDOMString.hpp:46
XPathEnvSupport::LocatorType
XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType
Definition: XPathEnvSupport.hpp:61
XObjectPtr
Class to hold XObjectPtr return types.
Definition: XObject.hpp:884
NodeRefListBase
Local implementation of NodeRefList.
Definition: NodeRefListBase.hpp:45
XalanQName
Class to represent a qualified name.
Definition: XalanQName.hpp:71
XPathEnvSupport::extFunction
virtual XObjectPtr extFunction(XPathExecutionContext &executionContext, const XalanDOMString &theNamespace, const XalanDOMString &functionName, XalanNode *context, const XObjectArgVectorType &argVec, const Locator *locator) const =0
Handle an extension function.
XalanNode
Definition: XalanNode.hpp:39
Function.hpp
ProblemListenerBase.hpp
XPathEnvSupport::~XPathEnvSupport
virtual ~XPathEnvSupport()
XPathDefinitions.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.11
Copyright © 1999-2012 The Apache Software Foundation.
All Rights Reserved.

Apache Logo