Xalan-C++ API Reference
1.12.0
xalanc
XSLT
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.
24
#include <
xalanc/XSLT/XSLTDefinitions.hpp
>
25
26
27
28
// Base class header file.
29
#include <
xalanc/XSLT/ElemUse.hpp
>
30
31
32
33
namespace
XALAN_CPP_NAMESPACE
{
34
35
36
37
class
AVT;
38
39
40
41
class
ElemLiteralResult
:
public
ElemUse
42
{
43
public
:
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
*/
55
ElemLiteralResult
(
56
StylesheetConstructionContext
& constructionContext,
57
Stylesheet
& stylesheetTree,
58
const
XalanDOMChar* name,
59
const
AttributeListType
& atts,
60
XalanFileLoc lineNumber,
61
XalanFileLoc columnNumber);
62
63
virtual
64
~
ElemLiteralResult
();
65
66
// These methods are inherited from ElemUse ...
67
68
virtual
const
XalanDOMString
&
69
getElementName()
const
;
70
71
virtual
void
72
postConstruction(
73
StylesheetConstructionContext
& constructionContext,
74
const
NamespacesHandler
& theParentHandler);
75
76
virtual
bool
77
isAttrOK(
78
const
XalanDOMChar* attrName,
79
const
AttributeListType
& atts,
80
XalanSize_t which,
81
StylesheetConstructionContext
& constructionContext)
const
;
82
83
#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
84
virtual
const
ElemTemplateElement
*
85
startElement(
StylesheetExecutionContext
& executionContext)
const
;
86
87
virtual
void
88
endElement(
StylesheetExecutionContext
& executionContext)
const
;
89
90
virtual
void
91
evaluateAVTs(
StylesheetExecutionContext
& executionContext)
const
;
92
#else
93
virtual
void
94
execute(
StylesheetExecutionContext
& executionContext)
const
;
95
#endif
96
97
protected
:
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
108
init(
109
StylesheetConstructionContext
& constructionContext,
110
Stylesheet
& stylesheetTree,
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
*/
125
ElemLiteralResult
(
126
StylesheetConstructionContext
& constructionContext,
127
Stylesheet
& stylesheetTree,
128
const
XalanDOMChar* name,
129
const
AttributeListType
& atts,
130
XalanFileLoc lineNumber,
131
XalanFileLoc columnNumber,
132
int
xslToken);
133
134
virtual
void
135
namespacesPostConstruction(
136
StylesheetConstructionContext
& constructionContext,
137
const
NamespacesHandler
& theParentHandler,
138
NamespacesHandler
& theHandler);
139
140
private
:
141
142
// not implemented
143
ElemLiteralResult
(
const
ElemLiteralResult
&);
144
145
ElemLiteralResult
&
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
xalanc::ElemLiteralResult
Definition:
ElemLiteralResult.hpp:41
XALAN_CPP_NAMESPACE
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
Definition:
XalanVersion.hpp:76
xalanc::AttributeListType
xercesc::AttributeList AttributeListType
Definition:
AttributeListImpl.hpp:41
xalanc::StylesheetExecutionContext
Definition:
StylesheetExecutionContext.hpp:106
xalanc::ElemTemplateElement
Definition:
ElemTemplateElement.hpp:79
xalanc::NamespacesHandler
Definition:
NamespacesHandler.hpp:52
ElemUse.hpp
xalanc::StylesheetConstructionContext
Definition:
StylesheetConstructionContext.hpp:83
xalanc::ElemUse
Definition:
ElemUse.hpp:37
XSLTDefinitions.hpp
xalanc::Stylesheet
This class represents the base stylesheet or an "import" stylesheet.
Definition:
Stylesheet.hpp:86
xalanc::XalanDOMString
Definition:
XalanDOMString.hpp:45
xalanc::AVT
Class to hold an Attribute Value Template.
Definition:
AVT.hpp:58
Copyright © 1999-2020 The Apache Software Foundation. All Rights Reserved.
Generated on Sun May 31 2020 10:37:21 for Xalan-C++ API Reference by
1.8.17