Xalan-C++ API Reference
1.12.0
xalanc
XSLT
ElemCallTemplate.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_ELEMCALLTEMPLATE_HEADER_GUARD)
19
#define XALAN_ELEMCALLTEMPLATE_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 "
ElemTemplateElement.hpp
"
30
31
32
33
namespace
XALAN_CPP_NAMESPACE
{
34
35
36
37
class
ElemTemplate;
38
39
40
41
class
ElemCallTemplate
:
public
ElemTemplateElement
42
{
43
public
:
44
45
/**
46
* Construct an object corresponding to an "xsl:call-template" 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
*/
54
ElemCallTemplate
(
55
StylesheetConstructionContext
& constructionContext,
56
Stylesheet
& stylesheetTree,
57
const
AttributeListType
& atts,
58
XalanFileLoc lineNumber,
59
XalanFileLoc columnNumber);
60
61
virtual
62
~
ElemCallTemplate
();
63
64
// These methods are inherited from ElemTemplateElement ...
65
66
virtual
const
XalanDOMString
&
67
getElementName()
const
;
68
69
#if !defined(XALAN_RECURSIVE_STYLESHEET_EXECUTION)
70
virtual
const
ElemTemplateElement
*
71
startElement(
StylesheetExecutionContext
& executionContext)
const
;
72
73
virtual
void
74
endElement(
StylesheetExecutionContext
& executionContext)
const
;
75
76
virtual
const
ElemTemplateElement
*
77
getNextChildElemToExecute(
78
StylesheetExecutionContext
& executionContext,
79
const
ElemTemplateElement
* currentElem)
const
;
80
81
virtual
const
ElemTemplateElement
*
82
getFirstChildElemToExecute(
83
StylesheetExecutionContext
& executionContext)
const
;
84
#else
85
virtual
void
86
execute(
StylesheetExecutionContext
& executionContext)
const
;
87
#endif
88
virtual
void
89
postConstruction(
90
StylesheetConstructionContext
& constructionContext,
91
const
NamespacesHandler
& theParentHandler);
92
93
const
ElemTemplate
*
94
getTemplate
()
const
95
{
96
return
m_template;
97
}
98
99
protected
:
100
101
virtual
bool
102
childTypeAllowed(
int
xslToken)
const
;
103
104
private
:
105
106
// not implemented
107
ElemCallTemplate
(
const
ElemCallTemplate
&);
108
109
ElemCallTemplate
&
110
operator=(
const
ElemCallTemplate
&);
111
112
// Data members...
113
const
XalanQName
* m_templateName;
114
115
const
ElemTemplate
* m_template;
116
};
117
118
119
120
}
121
122
123
124
#endif // XALAN_ELEMCALLTEMPLATE_HEADER_GUARD
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::ElemCallTemplate::getTemplate
const ElemTemplate * getTemplate() const
Definition:
ElemCallTemplate.hpp:94
xalanc::StylesheetExecutionContext
Definition:
StylesheetExecutionContext.hpp:106
xalanc::ElemTemplateElement
Definition:
ElemTemplateElement.hpp:79
xalanc::NamespacesHandler
Definition:
NamespacesHandler.hpp:52
xalanc::ElemCallTemplate
Definition:
ElemCallTemplate.hpp:41
xalanc::StylesheetConstructionContext
Definition:
StylesheetConstructionContext.hpp:83
ElemTemplateElement.hpp
xalanc::ElemTemplate
Definition:
ElemTemplate.hpp:43
XSLTDefinitions.hpp
xalanc::Stylesheet
This class represents the base stylesheet or an "import" stylesheet.
Definition:
Stylesheet.hpp:86
xalanc::XalanQName
Class to represent a qualified name.
Definition:
XalanQName.hpp:70
xalanc::XalanDOMString
Definition:
XalanDOMString.hpp:45
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