Xalan-C++ API Reference 1.12.0
ElemLiteralResult.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_ELEMLITERALRESULT_HEADER_GUARD)
19#define XALAN_ELEMLITERALRESULT_HEADER_GUARD
20
21
22
23// Base include file. Must be first.
25
26
27
28// Base class header file.
30
31
32
33namespace XALAN_CPP_NAMESPACE {
34
35
36
37class AVT;
38
39
40
42{
43public:
44
45 /**
46 * Construct an object corresponding to a literal result element
47 *
48 * @param constructionContext context for construction of object
49 * @param stylesheetTree stylesheet containing element
50 * @param name name of element
51 * @param atts list of attributes for element
52 * @param lineNumber line number in document
53 * @param columnNumber column number in document
54 */
58 const XalanDOMChar* name,
62
63 virtual
65
66 // These methods are inherited from ElemUse ...
67
68 virtual const XalanDOMString&
70
71 virtual void
75
76 virtual bool
82
83#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
84 virtual const ElemTemplateElement*
86
87 virtual void
89
90 virtual void
92#else
93 virtual void
95#endif
96
97protected:
98
99 /**
100 * Do common initialization.
101 *
102 * @param constructionContext The current onstruction context.
103 * @param stylesheetTree The stylesheet containing the element.
104 * @param name The name of the element.
105 * @param atts The list of attributes for the element.
106 */
107 void
111 const XalanDOMChar* name,
112 const AttributeListType& atts);
113
114 /**
115 * Construct an object corresponding to a literal result element
116 *
117 * @param constructionContext context for construction of object
118 * @param stylesheetTree stylesheet containing element
119 * @param name name of element
120 * @param atts list of attributes for element
121 * @param lineNumber line number in document
122 * @param columnNumber column number in document
123 * @param xslToken The xsl token value for this class
124 */
128 const XalanDOMChar* name,
129 const AttributeListType& atts,
132 int xslToken);
133
134 virtual void
139
140private:
141
142 // not implemented
144
146 operator=(const ElemLiteralResult&);
147
148
149 /**
150 * The name of the literal result element.
151 */
152 const XalanDOMString& m_elementName;
153
154 /**
155 * A vector to keep track of the attribute elements.
156 */
157 const AVT** m_avts;
158
159 /**
160 * The size of m_avts, once the stylesheet is compiled...
161 */
162 XalanSize_t m_avtsCount;
163};
164
165
166
167}
168
169
170
171#endif // XALAN_ELEMLITERALRESULT_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
virtual void endElement(StylesheetExecutionContext &executionContext) const
Completes "post-processing" afer any sub-elements are invoked (i.e.
ElemLiteralResult(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const XalanDOMChar *name, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber, int xslToken)
Construct an object corresponding to a literal result element.
virtual const XalanDOMString & getElementName() const
Get a string for the name of the element.
virtual bool isAttrOK(const XalanDOMChar *attrName, const AttributeListType &atts, XalanSize_t which, StylesheetConstructionContext &constructionContext) const
See if this is a xmlns attribute or in a non-XSLT.
void init(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const XalanDOMChar *name, const AttributeListType &atts)
Do common initialization.
virtual void namespacesPostConstruction(StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler, NamespacesHandler &theHandler)
Called after construction is completed.
ElemLiteralResult(StylesheetConstructionContext &constructionContext, Stylesheet &stylesheetTree, const XalanDOMChar *name, const AttributeListType &atts, XalanFileLoc lineNumber, XalanFileLoc columnNumber)
Construct an object corresponding to a literal result element.
virtual void evaluateAVTs(StylesheetExecutionContext &executionContext) const
Evalute the AVTs for this element.
virtual void postConstruction(StylesheetConstructionContext &constructionContext, const NamespacesHandler &theParentHandler)
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