Xalan-C++ API Reference 1.12.0
ElemElement.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(XALAN_ELEMELEMENT_HEADER_GUARD)
19#define XALAN_ELEMELEMENT_HEADER_GUARD
20
21
22
23// Base include file. Must be first.
24#include "XSLTDefinitions.hpp"
25
26
27
28// Base class header file.
29#include "ElemUse.hpp"
30
31
32
33namespace XALAN_CPP_NAMESPACE {
34
35
36
37class AVT;
38
39
40
41class ElemElement: public ElemUse
42{
43public:
44
45 /**
46 * Construct an object corresponding to an "xsl:element" element
47 *
48 * @param constructionContext context for construction of object
49 * @param stylesheetTree stylesheet containing element
50 * @param atts list of attributes for element
51 * @param lineNumber line number in document
52 * @param columnNumber column number in document
53 */
60
61 virtual
63
64 // These methods are inherited from ElemUse ...
65
66 virtual const XalanDOMString&
68
69#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
70 virtual const ElemTemplateElement*
72
73 virtual void
75
76 virtual bool
79 const ElemTemplateElement* element) const;
80#else
81 virtual void
83#endif
84
85protected:
86
87#if defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
88 /**
89 * Process the children of a template.
90 *
91 * @param executionContext The current execution context
92 * @param skipAttributeChildren If true, attribute children will not be executed.
93 */
94 virtual void
97 bool skipAttributeChildren) const;
98#endif
99
100 virtual void
105
106private:
107
108 /**
109 * Do any necessary fixup for the default namespace
110 *
111 * @param executionContext The current execution context
112 */
113 void
114 fixupDefaultNamespace(StylesheetExecutionContext& executionContext) const;
115
116 /**
117 * Get the default namespace from the parent of this element. Returns
118 * an empty string if there's no default namespace.
119 *
120 * @return The default namespace of the parent, if any.
121 */
122 const XalanDOMString&
123 getParentDefaultNamespace() const;
124
125
126 // not implemented
127 ElemElement(const ElemElement &);
128
130 operator=(const ElemElement &);
131
132 // Data members...
133 const AVT* m_nameAVT;
134
135 const AVT* m_namespaceAVT;
136};
137
138
139
140}
141
142
143
144#endif // XALAN_ELEMELEMENT_HEADER_GUARD
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Class to hold an Attribute Value Template.
Definition AVT.hpp:59
ElemElement(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber)
Construct an object corresponding to an "xsl:element" element.
virtual const XalanDOMString & getElementName() const
Get a string for the name of the element.
virtual bool executeChildElement(StylesheetExecutionContext &executionContext, const ElemTemplateElement *element) const
Filters sub-elements that should be executed.
virtual void endElement(StylesheetExecutionContext &executionContext) const
Completes "post-processing" afer any sub-elements are invoked (i.e.
virtual ~ElemElement()
virtual void namespacesPostConstruction(StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler, NamespacesHandler &theHandler)
Called after construction is completed.
virtual const ElemTemplateElement * startElement(StylesheetExecutionContext &executionContext) const
Completes "pre-processing" before any sub-elements are invoked (i.e.
This class represents the base stylesheet or an "import" stylesheet.
xercesc::AttributeList AttributeListType