Xerces-C++
3.1.3
Main Page
Related Pages
Classes
Files
File List
File Members
src
xercesc
framework
psvi
XSAnnotation.hpp
Go to the documentation of this file.
1
/*
2
* Licensed to the Apache Software Foundation (ASF) under one or more
3
* contributor license agreements. See the NOTICE file distributed with
4
* this work for additional information regarding copyright ownership.
5
* The ASF licenses this file to You under the Apache License, Version 2.0
6
* (the "License"); you may not use this file except in compliance with
7
* the License. You may obtain a copy of the License at
8
*
9
* http://www.apache.org/licenses/LICENSE-2.0
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*/
17
18
/*
19
* $Id: XSAnnotation.hpp 672273 2008-06-27 13:57:00Z borisk $
20
*/
21
22
#if !defined(XERCESC_INCLUDE_GUARD_XSANNOTATION_HPP)
23
#define XERCESC_INCLUDE_GUARD_XSANNOTATION_HPP
24
25
#include <
xercesc/framework/psvi/XSObject.hpp
>
26
#include <xercesc/internal/XSerializable.hpp>
27
28
XERCES_CPP_NAMESPACE_BEGIN
29
37
// forward declarations
38
class
DOMNode
;
39
class
ContentHandler
;
40
41
class
XMLPARSER_EXPORT
XSAnnotation
:
public
XSerializable,
public
XSObject
42
{
43
public
:
44
45
// TargetType
46
enum
ANNOTATION_TARGET
{
50
W3C_DOM_ELEMENT = 1,
54
W3C_DOM_DOCUMENT = 2
55
};
56
57
// Constructors and Destructor
58
// -----------------------------------------------------------------------
61
68
XSAnnotation
69
(
70
const
XMLCh
*
const
contents
71
,
MemoryManager
*
const
manager =
XMLPlatformUtils::fgMemoryManager
72
);
73
75
78
~
XSAnnotation
();
80
81
//---------------------
85
96
void
writeAnnotation(
DOMNode
* node, ANNOTATION_TARGET targetType);
97
105
void
writeAnnotation(
ContentHandler
* handler);
106
110
const
XMLCh
*getAnnotationString()
const
;
111
XMLCh
*getAnnotationString();
112
114
115
//----------------------------------
118
void
setNext(
XSAnnotation
*
const
nextAnnotation);
119
XSAnnotation
* getNext();
121
122
//-----------------------------
125
inline
void
getLineCol(
XMLFileLoc
& line,
XMLFileLoc
& col)
const
;
126
inline
const
XMLCh
* getSystemId()
const
;
128
129
//-----------------------------
132
inline
void
setLineCol(
XMLFileLoc
line,
XMLFileLoc
col);
133
void
setSystemId(
const
XMLCh
*
const
systemId);
135
136
/***
137
* Support for Serialization/De-serialization
138
***/
139
DECL_XSERIALIZABLE(
XSAnnotation
)
140
XSAnnotation
(
MemoryManager
* const manager);
141
142
private:
143
144
// -----------------------------------------------------------------------
145
// Unimplemented constructors and operators
146
// -----------------------------------------------------------------------
147
XSAnnotation
(const
XSAnnotation
&);
148
XSAnnotation & operator=(const XSAnnotation &);
149
150
protected:
151
152
// -----------------------------------------------------------------------
153
// data members
154
// -----------------------------------------------------------------------
155
XMLCh
* fContents;
156
XSAnnotation* fNext;
157
158
private:
159
160
XMLCh
* fSystemId;
161
XMLFileLoc
fLine;
162
XMLFileLoc
fCol;
163
164
};
165
166
inline const
XMLCh
*XSAnnotation::getAnnotationString()
const
167
{
168
return
fContents;
169
}
170
171
inline
XMLCh
*
XSAnnotation::getAnnotationString
()
172
{
173
return
fContents;
174
}
175
176
inline
void
XSAnnotation::getLineCol
(
XMLFileLoc
& line,
XMLFileLoc
& col)
const
177
{
178
line = fLine;
179
col = fCol;
180
}
181
182
inline
const
XMLCh
*
XSAnnotation::getSystemId
()
const
183
{
184
return
fSystemId;
185
}
186
187
inline
void
XSAnnotation::setLineCol
(
XMLFileLoc
line,
XMLFileLoc
col)
188
{
189
fLine = line;
190
fCol = col;
191
}
192
193
XERCES_CPP_NAMESPACE_END
194
195
#endif
Generated on Mon Feb 1 2016 13:04:19 for Xerces-C++ by
1.8.1.2