ECCE @ EIC Software
Reference for
ECCE @ EIC
simulation and reconstruction software on GitHub
Home page
Related Pages
Modules
Namespaces
Classes
Files
External Links
File List
File Members
ECCE @ EIC Software
Deprecated List
Modules
Namespaces
Classes
Files
File List
acts
analysis
coresoftware
Doxygen_Assist
ecce-detectors
fun4all_eicdetectors
geant4
tree
geant4-10.6-release
config
environments
examples
source
analysis
digits_hits
error_propagation
event
externals
clhep
expat
include
src
amigaconfig.h
ascii.h
asciitab.h
expat_config.h
iasciitab.h
internal.h
latin1tab.h
macconfig.h
nametab.h
utf8tab.h
winconfig.h
xmlparse.cc
xmlrole.cc
xmlrole.h
xmltok.cc
xmltok.h
xmltok_impl.cc
xmltok_impl.h
xmltok_ns.cc
zlib
g3tog4
geometry
global
graphics_reps
intercoms
interfaces
materials
parameterisations
particles
persistency
physics_lists
processes
readout
run
track
tracking
visualization
macros
online_distribution
tutorials
doxygen_mainpage.h
File Members
External Links
•
All
Classes
Namespaces
Files
Functions
Variables
Typedefs
Enumerations
Enumerator
Friends
Macros
Groups
Pages
xmltok_ns.cc
Go to the documentation of this file.
Or view
the newest version in sPHENIX GitHub for file xmltok_ns.cc
1
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
2
See the file COPYING for copying permission.
3
*/
4
5
/* This file is included! */
6
#ifdef XML_TOK_NS_C
7
8
const
ENCODING
*
9
NS
(
XmlGetUtf8InternalEncoding
)(
void
)
10
{
11
return
&
ns
(
internal_utf8_encoding
).enc;
12
}
13
14
const
ENCODING
*
15
NS
(
XmlGetUtf16InternalEncoding
)(
void
)
16
{
17
#if BYTEORDER == 1234
18
return
&
ns
(
internal_little2_encoding
).enc;
19
#elif BYTEORDER == 4321
20
return
&
ns
(
internal_big2_encoding
).enc;
21
#else
22
const
short
n
= 1;
23
return
(*(
const
char
*)&n
24
? &
ns
(
internal_little2_encoding
).enc
25
: &
ns
(
internal_big2_encoding
).enc);
26
#endif
27
}
28
29
static
const
ENCODING
*
const
NS
(encodings)[] = {
30
&
ns
(
latin1_encoding
).enc,
31
&
ns
(
ascii_encoding
).enc,
32
&
ns
(
utf8_encoding
).enc,
33
&
ns
(
big2_encoding
).enc,
34
&
ns
(
big2_encoding
).enc,
35
&
ns
(
little2_encoding
).enc,
36
&
ns
(
utf8_encoding
).enc
/* NO_ENC */
37
};
38
39
static
int
PTRCALL
40
NS
(initScanProlog)(
const
ENCODING
*enc,
const
char
*ptr,
const
char
*end,
41
const
char
**nextTokPtr)
42
{
43
return
initScan
(
NS
(encodings), (
const
INIT_ENCODING
*)enc,
44
XML_PROLOG_STATE
, ptr, end, nextTokPtr);
45
}
46
47
static
int
PTRCALL
48
NS
(initScanContent)(
const
ENCODING
*enc,
const
char
*ptr,
const
char
*end,
49
const
char
**nextTokPtr)
50
{
51
return
initScan
(
NS
(encodings), (
const
INIT_ENCODING
*)enc,
52
XML_CONTENT_STATE
, ptr, end, nextTokPtr);
53
}
54
55
int
56
NS
(
XmlInitEncoding
)(
INIT_ENCODING
*
p
,
const
ENCODING
**encPtr,
57
const
char
*
name
)
58
{
59
int
i =
getEncodingIndex
(
name
);
60
if
(i ==
UNKNOWN_ENC
)
61
return
0;
62
SET_INIT_ENC_INDEX
(p, i);
63
p->initEnc.scanners[
XML_PROLOG_STATE
] =
NS
(initScanProlog);
64
p->initEnc.scanners[
XML_CONTENT_STATE
] =
NS
(initScanContent);
65
p->initEnc.updatePosition =
initUpdatePosition
;
66
p->encPtr = encPtr;
67
*encPtr = &(p->initEnc);
68
return
1;
69
}
70
71
static
const
ENCODING
*
72
NS
(findEncoding)(
const
ENCODING
*enc,
const
char
*ptr,
const
char
*end)
73
{
74
#define ENCODING_MAX 128
75
char
buf[ENCODING_MAX];
76
char
*p = buf;
77
int
i;
78
XmlUtf8Convert
(enc, &ptr, end, &p, p + ENCODING_MAX - 1);
79
if
(ptr != end)
80
return
0;
81
*p = 0;
82
if
(
streqci
(buf,
KW_UTF_16
) && enc->minBytesPerChar == 2)
83
return
enc;
84
i =
getEncodingIndex
(buf);
85
if
(i ==
UNKNOWN_ENC
)
86
return
0;
87
return
NS
(encodings)[i];
88
}
89
90
int
91
NS
(
XmlParseXmlDecl
)(
int
isGeneralTextEntity,
92
const
ENCODING
*enc,
93
const
char
*ptr,
94
const
char
*end,
95
const
char
**badPtr,
96
const
char
**versionPtr,
97
const
char
**versionEndPtr,
98
const
char
**encodingName,
99
const
ENCODING
**
encoding
,
100
int
*
standalone
)
101
{
102
return
doParseXmlDecl
(
NS
(findEncoding),
103
isGeneralTextEntity,
104
enc,
105
ptr,
106
end,
107
badPtr,
108
versionPtr,
109
versionEndPtr,
110
encodingName,
111
encoding,
112
standalone
);
113
}
114
115
#endif
/* XML_TOK_NS_C */
geant4
tree
geant4-10.6-release
source
externals
expat
src
xmltok_ns.cc
Built by
Jin Huang
. updated:
Wed Jun 29 2022 17:25:15
using
1.8.2 with
ECCE GitHub integration