Xalan-C++ API Documentation

The Xalan C++ XSLT Processor Version 1.10

ElemUse.hpp
Go to the documentation of this file.
1 /*
2  * Copyright 1999-2004 The Apache Software Foundation.
3  *
4  * Licensed under the Apache License, Version 2.0 (the "License");
5  * you may not use this file except in compliance with the License.
6  * You may obtain a copy of the License at
7  *
8  * http://www.apache.org/licenses/LICENSE-2.0
9  *
10  * Unless required by applicable law or agreed to in writing, software
11  * distributed under the License is distributed on an "AS IS" BASIS,
12  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13  * See the License for the specific language governing permissions and
14  * limitations under the License.
15  */
16 #if !defined(XALAN_ELEMUSE_HEADER_GUARD)
17 #define XALAN_ELEMUSE_HEADER_GUARD
18 
19 
20 
21 // Base include file. Must be first.
22 #include "XSLTDefinitions.hpp"
23 
24 
25 
26 // Base class header file.
27 #include "ElemTemplateElement.hpp"
28 
29 
30 
31 XALAN_CPP_NAMESPACE_BEGIN
32 
33 
34 
36 {
37 public:
38 
39 #if defined(XALAN_STRICT_ANSI_HEADERS)
40  typedef std::size_t size_type;
41 #else
42  typedef size_t size_type;
43 #endif
44 
56  ElemUse(
57  StylesheetConstructionContext& constructionContext,
58  Stylesheet& stylesheetTree,
59  int lineNumber,
60  int columnNumber,
61  int xslToken);
62 
63  virtual
64  ~ElemUse();
65 
75  bool
77  StylesheetConstructionContext& constructionContext,
78  const XalanDOMChar* attrName,
79  const AttributeListType& atts,
80  int which);
81 
82  // These methods are inherited from ElemTemplateElement ...
83 
84  virtual const XalanDOMString&
85  getElementName() const;
86 
87  virtual void
89  StylesheetConstructionContext& constructionContext,
90  const NamespacesHandler& theParentHandler);
91 
92 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
93  virtual const ElemTemplateElement*
94  startElement(StylesheetExecutionContext& executionContext) const;
95 
96  virtual void
97  endElement(StylesheetExecutionContext& executionContext) const;
98 
99  virtual const ElemTemplateElement*
101  StylesheetExecutionContext& executionContext,
102  const ElemTemplateElement* currentElem) const;
103 
104  virtual const ElemTemplateElement*
106  StylesheetExecutionContext& executionContext) const;
107 #else
108  virtual void
109  execute(StylesheetExecutionContext& executionContext) const;
110 #endif
111 
112 
113 protected:
114 
115 #if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
116 
122  const ElemTemplateElement*
124  StylesheetExecutionContext& executionContext) const;
125 
131  virtual void
132  evaluateAVTs(
133  StylesheetExecutionContext& executionContext) const;
134 #else
135 
144  virtual void
145  doExecute(
146  StylesheetExecutionContext& executionContext,
147  bool applyAttributeSets) const;
148 #endif
149 
150 private:
151 
152  const XalanQName** m_attributeSetsNames;
153 
154  size_type m_attributeSetsNamesCount;
155 };
156 
157 
158 
159 XALAN_CPP_NAMESPACE_END
160 
161 
162 
163 #endif // XALAN_ELEMUSE_HEADER_GUARD

Interpreting class diagrams

Doxygen and GraphViz are used to generate this API documentation from the Xalan-C header files.

dot

Xalan-C++ XSLT Processor Version 1.10
Copyright © 1999-2004 The Apache Software Foundation. All Rights Reserved.

Apache Logo