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
68  ~XPathEnvSupport();
69 
70 
71  // These methods are inherited from ProblemListener ...
72  virtual void
73  problem(
74  eSource source,
75  eClassification classification,
76  const XalanDOMString& msg,
77  const Locator* locator,
78  const XalanNode* sourceNode) = 0;
79 
80  virtual void
81  problem(
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*
99  parseXML(
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
121  setSourceDocument(
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
143  elementAvailable(
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
157  functionAvailable(
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
172  extFunction(
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
Class to hold XObjectPtr return types.
Definition: XObject.hpp:883
Local implementation of NodeRefList.
Function::XObjectArgVectorType XObjectArgVectorType
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.
This is the abstract class that is used when reporting a problem some kind, that requires a message...
XERCES_CPP_NAMESPACE_QUALIFIER Locator LocatorType
This class defines an interface for classes that resolve namespace prefixes to their URIs...
Class to hold XPath return types.
Definition: XObject.hpp:63
bool operator==(const ElemAttributeSet &theLHS, const ElemAttributeSet &theRHS)
#define XALAN_XPATH_EXPORT
This class handles the creation of XObjects and manages their lifetime.
Class to represent a qualified name.
Definition: XalanQName.hpp:70

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