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
virtual void endElement(StylesheetExecutionContext &executionContext) const
Completes "post-processing" afer any sub-elements are invoked (i.e.
XERCES_CPP_NAMESPACE_QUALIFIER AttributeList AttributeListType
Definition: AttributeListImpl.hpp:39
Definition: ElemTemplateElement.hpp:74
Definition: NamespacesHandler.hpp:50
bool processUseAttributeSets(StylesheetConstructionContext &constructionContext, const XalanDOMChar *attrName, const AttributeListType &atts, int which)
See if this is a use-attribute-sets attribute, and, if so, process it.
virtual const ElemTemplateElement * startElement(StylesheetExecutionContext &executionContext) const
Completes "pre-processing" before any sub-elements are invoked (i.e.
Definition: StylesheetExecutionContext.hpp:104
ElemUse(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, int lineNumber, int columnNumber, int xslToken)
Construct an object corresponding to an "use-attribute-sets" attribute.
virtual void evaluateAVTs(StylesheetExecutionContext &executionContext) const
Evalute the AVTs for this element.
virtual const ElemTemplateElement * getFirstChildElemToExecute(StylesheetExecutionContext &executionContext) const
Returns the first sub-element (i.e.
virtual const ElemTemplateElement * getNextChildElemToExecute(StylesheetExecutionContext &executionContext, const ElemTemplateElement *currentElem) const
Returns the next sub-element (i.e.
virtual ~ElemUse()
Definition: XalanDOMString.hpp:42
Definition: ElemUse.hpp:35
Definition: StylesheetConstructionContext.hpp:73
virtual void execute(StylesheetExecutionContext &executionContext) const
Execute the element.
const ElemTemplateElement * getNextAttributeSet(StylesheetExecutionContext &executionContext) const
Get the next attribute set to execute.
This class represents the base stylesheet or an "import" stylesheet.
Definition: Stylesheet.hpp:84
size_t size_type
Definition: ElemUse.hpp:42
Class to represent a qualified name: "The name of an internal XSLT object, specifically a named templ...
Definition: XalanQName.hpp:68
virtual void postConstruction(StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler)
Called after construction is completed.
virtual const XalanDOMString & getElementName() const
Get a string for the name of the element.

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