Xalan-C++ API Reference
1.12.0
xalanc
XSLT
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
33
namespace
XALAN_CPP_NAMESPACE
{
34
35
36
37
class
AVT;
38
39
40
41
class
ElemElement
:
public
ElemUse
42
{
43
public
:
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
*/
54
ElemElement
(
55
StylesheetConstructionContext
& constructionContext,
56
Stylesheet
& stylesheetTree,
57
const
AttributeListType
& atts,
58
XalanFileLoc lineNumber,
59
XalanFileLoc columnNumber);
60
61
virtual
62
~
ElemElement
();
63
64
// These methods are inherited from ElemUse ...
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
bool
77
executeChildElement(
78
StylesheetExecutionContext
& executionContext,
79
const
ElemTemplateElement
* element)
const
;
80
#else
81
virtual
void
82
execute(
StylesheetExecutionContext
& executionContext)
const
;
83
#endif
84
85
protected
:
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
95
doExecuteChildren(
96
StylesheetExecutionContext
& executionContext,
97
bool
skipAttributeChildren)
const
;
98
#endif
99
100
virtual
void
101
namespacesPostConstruction(
102
StylesheetConstructionContext
& constructionContext,
103
const
NamespacesHandler
& theParentHandler,
104
NamespacesHandler
& theHandler);
105
106
private
:
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
129
ElemElement
&
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
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::ElemElement
Definition:
ElemElement.hpp:41
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