forked from KolibriOS/kolibrios
sdk: expat 2.1.0
git-svn-id: svn://kolibrios.org@4818 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
6e6d77845e
commit
e69d64552e
22
contrib/sdk/sources/expat/COPYING
Normal file
22
contrib/sdk/sources/expat/COPYING
Normal file
@ -0,0 +1,22 @@
|
|||||||
|
Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
|
||||||
|
and Clark Cooper
|
||||||
|
Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
|
||||||
|
|
||||||
|
Permission is hereby granted, free of charge, to any person obtaining
|
||||||
|
a copy of this software and associated documentation files (the
|
||||||
|
"Software"), to deal in the Software without restriction, including
|
||||||
|
without limitation the rights to use, copy, modify, merge, publish,
|
||||||
|
distribute, sublicense, and/or sell copies of the Software, and to
|
||||||
|
permit persons to whom the Software is furnished to do so, subject to
|
||||||
|
the following conditions:
|
||||||
|
|
||||||
|
The above copyright notice and this permission notice shall be included
|
||||||
|
in all copies or substantial portions of the Software.
|
||||||
|
|
||||||
|
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
205
contrib/sdk/sources/expat/Changes
Normal file
205
contrib/sdk/sources/expat/Changes
Normal file
@ -0,0 +1,205 @@
|
|||||||
|
Release 2.1.0 Sat March 24 2012
|
||||||
|
- Bug Fixes:
|
||||||
|
#1742315: Harmful XML_ParserCreateNS suggestion.
|
||||||
|
#2895533: CVE-2012-1147 - Resource leak in readfilemap.c.
|
||||||
|
#1785430: Expat build fails on linux-amd64 with gcc version>=4.1 -O3.
|
||||||
|
#1983953, 2517952, 2517962, 2649838:
|
||||||
|
Build modifications using autoreconf instead of buildconf.sh.
|
||||||
|
#2815947, #2884086: OBJEXT and EXEEXT support while building.
|
||||||
|
#1990430: CVE-2009-3720 - Parser crash with special UTF-8 sequences.
|
||||||
|
#2517938: xmlwf should return non-zero exit status if not well-formed.
|
||||||
|
#2517946: Wrong statement about XMLDecl in xmlwf.1 and xmlwf.sgml.
|
||||||
|
#2855609: Dangling positionPtr after error.
|
||||||
|
#2894085: CVE-2009-3560 - Buffer over-read and crash in big2_toUtf8().
|
||||||
|
#2958794: CVE-2012-1148 - Memory leak in poolGrow.
|
||||||
|
#2990652: CMake support.
|
||||||
|
#3010819: UNEXPECTED_STATE with a trailing "%" in entity value.
|
||||||
|
#3206497: Unitialized memory returned from XML_Parse.
|
||||||
|
#3287849: make check fails on mingw-w64.
|
||||||
|
#3496608: CVE-2012-0876 - Hash DOS attack.
|
||||||
|
- Patches:
|
||||||
|
#1749198: pkg-config support.
|
||||||
|
#3010222: Fix for bug #3010819.
|
||||||
|
#3312568: CMake support.
|
||||||
|
#3446384: Report byte offsets for attr names and values.
|
||||||
|
- New Features / API changes:
|
||||||
|
Added new API member XML_SetHashSalt() that allows setting an intial
|
||||||
|
value (salt) for hash calculations. This is part of the fix for
|
||||||
|
bug #3496608 to randomize hash parameters.
|
||||||
|
When compiled with XML_ATTR_INFO defined, adds new API member
|
||||||
|
XML_GetAttributeInfo() that allows retrieving the byte
|
||||||
|
offsets for attribute names and values (patch #3446384).
|
||||||
|
Added CMake build system.
|
||||||
|
See bug #2990652 and patch #3312568.
|
||||||
|
Added run-benchmark target to Makefile.in - relies on testdata module
|
||||||
|
present in the same relative location as in the repository.
|
||||||
|
|
||||||
|
Release 2.0.1 Tue June 5 2007
|
||||||
|
- Fixed bugs #1515266, #1515600: The character data handler's calling
|
||||||
|
of XML_StopParser() was not handled properly; if the parser was
|
||||||
|
stopped and the handler set to NULL, the parser would segfault.
|
||||||
|
- Fixed bug #1690883: Expat failed on EBCDIC systems as it assumed
|
||||||
|
some character constants to be ASCII encoded.
|
||||||
|
- Minor cleanups of the test harness.
|
||||||
|
- Fixed xmlwf bug #1513566: "out of memory" error on file size zero.
|
||||||
|
- Fixed outline.c bug #1543233: missing a final XML_ParserFree() call.
|
||||||
|
- Fixes and improvements for Windows platform:
|
||||||
|
bugs #1409451, #1476160, #1548182, #1602769, #1717322.
|
||||||
|
- Build fixes for various platforms:
|
||||||
|
HP-UX, Tru64, Solaris 9: patch #1437840, bug #1196180.
|
||||||
|
All Unix: #1554618 (refreshed config.sub/config.guess).
|
||||||
|
#1490371, #1613457: support both, DESTDIR and INSTALL_ROOT,
|
||||||
|
without relying on GNU-Make specific features.
|
||||||
|
#1647805: Patched configure.in to work better with Intel compiler.
|
||||||
|
- Fixes to Makefile.in to have make check work correctly:
|
||||||
|
bugs #1408143, #1535603, #1536684.
|
||||||
|
- Added Open Watcom support: patch #1523242.
|
||||||
|
|
||||||
|
Release 2.0.0 Wed Jan 11 2006
|
||||||
|
- We no longer use the "check" library for C unit testing; we
|
||||||
|
always use the (partial) internal implementation of the API.
|
||||||
|
- Report XML_NS setting via XML_GetFeatureList().
|
||||||
|
- Fixed headers for use from C++.
|
||||||
|
- XML_GetCurrentLineNumber() and XML_GetCurrentColumnNumber()
|
||||||
|
now return unsigned integers.
|
||||||
|
- Added XML_LARGE_SIZE switch to enable 64-bit integers for
|
||||||
|
byte indexes and line/column numbers.
|
||||||
|
- Updated to use libtool 1.5.22 (the most recent).
|
||||||
|
- Added support for AmigaOS.
|
||||||
|
- Some mostly minor bug fixes. SF issues include: #1006708,
|
||||||
|
#1021776, #1023646, #1114960, #1156398, #1221160, #1271642.
|
||||||
|
|
||||||
|
Release 1.95.8 Fri Jul 23 2004
|
||||||
|
- Major new feature: suspend/resume. Handlers can now request
|
||||||
|
that a parse be suspended for later resumption or aborted
|
||||||
|
altogether. See "Temporarily Stopping Parsing" in the
|
||||||
|
documentation for more details.
|
||||||
|
- Some mostly minor bug fixes, but compilation should no
|
||||||
|
longer generate warnings on most platforms. SF issues
|
||||||
|
include: #827319, #840173, #846309, #888329, #896188, #923913,
|
||||||
|
#928113, #961698, #985192.
|
||||||
|
|
||||||
|
Release 1.95.7 Mon Oct 20 2003
|
||||||
|
- Fixed enum XML_Status issue (reported on SourceForge many
|
||||||
|
times), so compilers that are properly picky will be happy.
|
||||||
|
- Introduced an XMLCALL macro to control the calling
|
||||||
|
convention used by the Expat API; this macro should be used
|
||||||
|
to annotate prototypes and definitions of callback
|
||||||
|
implementations in code compiled with a calling convention
|
||||||
|
other than the default convention for the host platform.
|
||||||
|
- Improved ability to build without the configure-generated
|
||||||
|
expat_config.h header. This is useful for applications
|
||||||
|
which embed Expat rather than linking in the library.
|
||||||
|
- Fixed a variety of bugs: see SF issues #458907, #609603,
|
||||||
|
#676844, #679754, #692878, #692964, #695401, #699323, #699487,
|
||||||
|
#820946.
|
||||||
|
- Improved hash table lookups.
|
||||||
|
- Added more regression tests and improved documentation.
|
||||||
|
|
||||||
|
Release 1.95.6 Tue Jan 28 2003
|
||||||
|
- Added XML_FreeContentModel().
|
||||||
|
- Added XML_MemMalloc(), XML_MemRealloc(), XML_MemFree().
|
||||||
|
- Fixed a variety of bugs: see SF issues #615606, #616863,
|
||||||
|
#618199, #653180, #673791.
|
||||||
|
- Enhanced the regression test suite.
|
||||||
|
- Man page improvements: includes SF issue #632146.
|
||||||
|
|
||||||
|
Release 1.95.5 Fri Sep 6 2002
|
||||||
|
- Added XML_UseForeignDTD() for improved SAX2 support.
|
||||||
|
- Added XML_GetFeatureList().
|
||||||
|
- Defined XML_Bool type and the values XML_TRUE and XML_FALSE.
|
||||||
|
- Use an incomplete struct instead of a void* for the parser
|
||||||
|
(may not retain).
|
||||||
|
- Fixed UTF-8 decoding bug that caused legal UTF-8 to be rejected.
|
||||||
|
- Finally fixed bug where default handler would report DTD
|
||||||
|
events that were already handled by another handler.
|
||||||
|
Initial patch contributed by Darryl Miles.
|
||||||
|
- Removed unnecessary DllMain() function that caused static
|
||||||
|
linking into a DLL to be difficult.
|
||||||
|
- Added VC++ projects for building static libraries.
|
||||||
|
- Reduced line-length for all source code and headers to be
|
||||||
|
no longer than 80 characters, to help with AS/400 support.
|
||||||
|
- Reduced memory copying during parsing (SF patch #600964).
|
||||||
|
- Fixed a variety of bugs: see SF issues #580793, #434664,
|
||||||
|
#483514, #580503, #581069, #584041, #584183, #584832, #585537,
|
||||||
|
#596555, #596678, #598352, #598944, #599715, #600479, #600971.
|
||||||
|
|
||||||
|
Release 1.95.4 Fri Jul 12 2002
|
||||||
|
- Added support for VMS, contributed by Craig Berry. See
|
||||||
|
vms/README.vms for more information.
|
||||||
|
- Added Mac OS (classic) support, with a makefile for MPW,
|
||||||
|
contributed by Thomas Wegner and Daryle Walker.
|
||||||
|
- Added Borland C++ Builder 5 / BCC 5.5 support, contributed
|
||||||
|
by Patrick McConnell (SF patch #538032).
|
||||||
|
- Fixed a variety of bugs: see SF issues #441449, #563184,
|
||||||
|
#564342, #566334, #566901, #569461, #570263, #575168, #579196.
|
||||||
|
- Made skippedEntityHandler conform to SAX2 (see source comment)
|
||||||
|
- Re-implemented WFC: Entity Declared from XML 1.0 spec and
|
||||||
|
added a new error "entity declared in parameter entity":
|
||||||
|
see SF bug report #569461 and SF patch #578161
|
||||||
|
- Re-implemented section 5.1 from XML 1.0 spec:
|
||||||
|
see SF bug report #570263 and SF patch #578161
|
||||||
|
|
||||||
|
Release 1.95.3 Mon Jun 3 2002
|
||||||
|
- Added a project to the MSVC workspace to create a wchar_t
|
||||||
|
version of the library; the DLLs are named libexpatw.dll.
|
||||||
|
- Changed the name of the Windows DLLs from expat.dll to
|
||||||
|
libexpat.dll; this fixes SF bug #432456.
|
||||||
|
- Added the XML_ParserReset() API function.
|
||||||
|
- Fixed XML_SetReturnNSTriplet() to work for element names.
|
||||||
|
- Made the XML_UNICODE builds usable (thanks, Karl!).
|
||||||
|
- Allow xmlwf to read from standard input.
|
||||||
|
- Install a man page for xmlwf on Unix systems.
|
||||||
|
- Fixed many bugs; see SF bug reports #231864, #461380, #464837,
|
||||||
|
#466885, #469226, #477667, #484419, #487840, #494749, #496505,
|
||||||
|
#547350. Other bugs which we can't test as easily may also
|
||||||
|
have been fixed, especially in the area of build support.
|
||||||
|
|
||||||
|
Release 1.95.2 Fri Jul 27 2001
|
||||||
|
- More changes to make MSVC happy with the build; add a single
|
||||||
|
workspace to support both the library and xmlwf application.
|
||||||
|
- Added a Windows installer for Windows users; includes
|
||||||
|
xmlwf.exe.
|
||||||
|
- Added compile-time constants that can be used to determine the
|
||||||
|
Expat version
|
||||||
|
- Removed a lot of GNU-specific dependencies to aide portability
|
||||||
|
among the various Unix flavors.
|
||||||
|
- Fix the UTF-8 BOM bug.
|
||||||
|
- Cleaned up warning messages for several compilers.
|
||||||
|
- Added the -Wall, -Wstrict-prototypes options for GCC.
|
||||||
|
|
||||||
|
Release 1.95.1 Sun Oct 22 15:11:36 EDT 2000
|
||||||
|
- Changes to get expat to build under Microsoft compiler
|
||||||
|
- Removed all aborts and instead return an UNEXPECTED_STATE error.
|
||||||
|
- Fixed a bug where a stray '%' in an entity value would cause an
|
||||||
|
abort.
|
||||||
|
- Defined XML_SetEndNamespaceDeclHandler. Thanks to Darryl Miles for
|
||||||
|
finding this oversight.
|
||||||
|
- Changed default patterns in lib/Makefile.in to fit non-GNU makes
|
||||||
|
Thanks to robin@unrated.net for reporting and providing an
|
||||||
|
account to test on.
|
||||||
|
- The reference had the wrong label for XML_SetStartNamespaceDecl.
|
||||||
|
Reported by an anonymous user.
|
||||||
|
|
||||||
|
Release 1.95.0 Fri Sep 29 2000
|
||||||
|
- XML_ParserCreate_MM
|
||||||
|
Allows you to set a memory management suite to replace the
|
||||||
|
standard malloc,realloc, and free.
|
||||||
|
- XML_SetReturnNSTriplet
|
||||||
|
If you turn this feature on when namespace processing is in
|
||||||
|
effect, then qualified, prefixed element and attribute names
|
||||||
|
are returned as "uri|name|prefix" where '|' is whatever
|
||||||
|
separator character is used in namespace processing.
|
||||||
|
- Merged in features from perl-expat
|
||||||
|
o XML_SetElementDeclHandler
|
||||||
|
o XML_SetAttlistDeclHandler
|
||||||
|
o XML_SetXmlDeclHandler
|
||||||
|
o XML_SetEntityDeclHandler
|
||||||
|
o StartDoctypeDeclHandler takes 3 additional parameters:
|
||||||
|
sysid, pubid, has_internal_subset
|
||||||
|
o Many paired handler setters (like XML_SetElementHandler)
|
||||||
|
now have corresponding individual handler setters
|
||||||
|
o XML_GetInputContext for getting the input context of
|
||||||
|
the current parse position.
|
||||||
|
- Added reference material
|
||||||
|
- Packaged into a distribution that builds a sharable library
|
40
contrib/sdk/sources/expat/Makefile
Normal file
40
contrib/sdk/sources/expat/Makefile
Normal file
@ -0,0 +1,40 @@
|
|||||||
|
CC=gcc
|
||||||
|
LD= ld
|
||||||
|
AR= ar
|
||||||
|
|
||||||
|
LIBRARY= libexpat
|
||||||
|
|
||||||
|
CFLAGS = -U_Win32 -U_WIN32 -U__MINGW32__ -c -O2 -fomit-frame-pointer
|
||||||
|
|
||||||
|
INCLUDES= -I. -I../newlib/include
|
||||||
|
|
||||||
|
DEFS = -DHAVE_EXPAT_CONFIG_H
|
||||||
|
|
||||||
|
DEFINES= $(DEFS)
|
||||||
|
|
||||||
|
SRCS = lib/xmlparse.c \
|
||||||
|
lib/xmlrole.c \
|
||||||
|
lib/xmltok.c \
|
||||||
|
lib/xmltok_impl.c \
|
||||||
|
lib/xmltok_ns.c \
|
||||||
|
$(NULL)
|
||||||
|
|
||||||
|
OBJS = $(patsubst %.c, %.o, $(SRCS))
|
||||||
|
|
||||||
|
# targets
|
||||||
|
|
||||||
|
all:$(LIBRARY).a
|
||||||
|
|
||||||
|
$(LIBRARY).a: $(OBJS) Makefile
|
||||||
|
ar cvrs $(LIBRARY).a $(OBJS)
|
||||||
|
mv -f $(LIBRARY).a ../../lib
|
||||||
|
|
||||||
|
%.o : %.c Makefile
|
||||||
|
$(CC) $(CFLAGS) $(DEFINES) $(INCLUDES) -o $@ $<
|
||||||
|
|
||||||
|
clean:
|
||||||
|
-rm -f lib/*.o
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
139
contrib/sdk/sources/expat/README
Normal file
139
contrib/sdk/sources/expat/README
Normal file
@ -0,0 +1,139 @@
|
|||||||
|
|
||||||
|
Expat, Release 2.1.0
|
||||||
|
|
||||||
|
This is Expat, a C library for parsing XML, written by James Clark.
|
||||||
|
Expat is a stream-oriented XML parser. This means that you register
|
||||||
|
handlers with the parser before starting the parse. These handlers
|
||||||
|
are called when the parser discovers the associated structures in the
|
||||||
|
document being parsed. A start tag is an example of the kind of
|
||||||
|
structures for which you may register handlers.
|
||||||
|
|
||||||
|
Windows users should use the expat_win32bin package, which includes
|
||||||
|
both precompiled libraries and executables, and source code for
|
||||||
|
developers.
|
||||||
|
|
||||||
|
Expat is free software. You may copy, distribute, and modify it under
|
||||||
|
the terms of the License contained in the file COPYING distributed
|
||||||
|
with this package. This license is the same as the MIT/X Consortium
|
||||||
|
license.
|
||||||
|
|
||||||
|
Versions of Expat that have an odd minor version (the middle number in
|
||||||
|
the release above), are development releases and should be considered
|
||||||
|
as beta software. Releases with even minor version numbers are
|
||||||
|
intended to be production grade software.
|
||||||
|
|
||||||
|
If you are building Expat from a check-out from the CVS repository,
|
||||||
|
you need to run a script that generates the configure script using the
|
||||||
|
GNU autoconf and libtool tools. To do this, you need to have
|
||||||
|
autoconf 2.58 or newer. Run the script like this:
|
||||||
|
|
||||||
|
./buildconf.sh
|
||||||
|
|
||||||
|
Once this has been done, follow the same instructions as for building
|
||||||
|
from a source distribution.
|
||||||
|
|
||||||
|
To build Expat from a source distribution, you first run the
|
||||||
|
configuration shell script in the top level distribution directory:
|
||||||
|
|
||||||
|
./configure
|
||||||
|
|
||||||
|
There are many options which you may provide to configure (which you
|
||||||
|
can discover by running configure with the --help option). But the
|
||||||
|
one of most interest is the one that sets the installation directory.
|
||||||
|
By default, the configure script will set things up to install
|
||||||
|
libexpat into /usr/local/lib, expat.h into /usr/local/include, and
|
||||||
|
xmlwf into /usr/local/bin. If, for example, you'd prefer to install
|
||||||
|
into /home/me/mystuff/lib, /home/me/mystuff/include, and
|
||||||
|
/home/me/mystuff/bin, you can tell configure about that with:
|
||||||
|
|
||||||
|
./configure --prefix=/home/me/mystuff
|
||||||
|
|
||||||
|
Another interesting option is to enable 64-bit integer support for
|
||||||
|
line and column numbers and the over-all byte index:
|
||||||
|
|
||||||
|
./configure CPPFLAGS=-DXML_LARGE_SIZE
|
||||||
|
|
||||||
|
However, such a modification would be a breaking change to the ABI
|
||||||
|
and is therefore not recommended for general use - e.g. as part of
|
||||||
|
a Linux distribution - but rather for builds with special requirements.
|
||||||
|
|
||||||
|
After running the configure script, the "make" command will build
|
||||||
|
things and "make install" will install things into their proper
|
||||||
|
location. Have a look at the "Makefile" to learn about additional
|
||||||
|
"make" options. Note that you need to have write permission into
|
||||||
|
the directories into which things will be installed.
|
||||||
|
|
||||||
|
If you are interested in building Expat to provide document
|
||||||
|
information in UTF-16 encoding rather than the default UTF-8, follow
|
||||||
|
these instructions (after having run "make distclean"):
|
||||||
|
|
||||||
|
1. For UTF-16 output as unsigned short (and version/error
|
||||||
|
strings as char), run:
|
||||||
|
|
||||||
|
./configure CPPFLAGS=-DXML_UNICODE
|
||||||
|
|
||||||
|
For UTF-16 output as wchar_t (incl. version/error strings),
|
||||||
|
run:
|
||||||
|
|
||||||
|
./configure CFLAGS="-g -O2 -fshort-wchar" \
|
||||||
|
CPPFLAGS=-DXML_UNICODE_WCHAR_T
|
||||||
|
|
||||||
|
2. Edit the MakeFile, changing:
|
||||||
|
|
||||||
|
LIBRARY = libexpat.la
|
||||||
|
|
||||||
|
to:
|
||||||
|
|
||||||
|
LIBRARY = libexpatw.la
|
||||||
|
|
||||||
|
(Note the additional "w" in the library name.)
|
||||||
|
|
||||||
|
3. Run "make buildlib" (which builds the library only).
|
||||||
|
Or, to save step 2, run "make buildlib LIBRARY=libexpatw.la".
|
||||||
|
|
||||||
|
4. Run "make installlib" (which installs the library only).
|
||||||
|
Or, if step 2 was omitted, run "make installlib LIBRARY=libexpatw.la".
|
||||||
|
|
||||||
|
Using DESTDIR or INSTALL_ROOT is enabled, with INSTALL_ROOT being the default
|
||||||
|
value for DESTDIR, and the rest of the make file using only DESTDIR.
|
||||||
|
It works as follows:
|
||||||
|
$ make install DESTDIR=/path/to/image
|
||||||
|
overrides the in-makefile set DESTDIR, while both
|
||||||
|
$ INSTALL_ROOT=/path/to/image make install
|
||||||
|
$ make install INSTALL_ROOT=/path/to/image
|
||||||
|
use DESTDIR=$(INSTALL_ROOT), even if DESTDIR eventually is defined in the
|
||||||
|
environment, because variable-setting priority is
|
||||||
|
1) commandline
|
||||||
|
2) in-makefile
|
||||||
|
3) environment
|
||||||
|
|
||||||
|
Note: This only applies to the Expat library itself, building UTF-16 versions
|
||||||
|
of xmlwf and the tests is currently not supported.
|
||||||
|
|
||||||
|
Note for Solaris users: The "ar" command is usually located in
|
||||||
|
"/usr/ccs/bin", which is not in the default PATH. You will need to
|
||||||
|
add this to your path for the "make" command, and probably also switch
|
||||||
|
to GNU make (the "make" found in /usr/ccs/bin does not seem to work
|
||||||
|
properly -- appearantly it does not understand .PHONY directives). If
|
||||||
|
you're using ksh or bash, use this command to build:
|
||||||
|
|
||||||
|
PATH=/usr/ccs/bin:$PATH make
|
||||||
|
|
||||||
|
When using Expat with a project using autoconf for configuration, you
|
||||||
|
can use the probing macro in conftools/expat.m4 to determine how to
|
||||||
|
include Expat. See the comments at the top of that file for more
|
||||||
|
information.
|
||||||
|
|
||||||
|
A reference manual is available in the file doc/reference.html in this
|
||||||
|
distribution.
|
||||||
|
|
||||||
|
The homepage for this project is http://www.libexpat.org/. There
|
||||||
|
are links there to connect you to the bug reports page. If you need
|
||||||
|
to report a bug when you don't have access to a browser, you may also
|
||||||
|
send a bug report by email to expat-bugs@mail.libexpat.org.
|
||||||
|
|
||||||
|
Discussion related to the direction of future expat development takes
|
||||||
|
place on expat-discuss@mail.libexpat.org. Archives of this list and
|
||||||
|
other Expat-related lists may be found at:
|
||||||
|
|
||||||
|
http://mail.libexpat.org/mailman/listinfo/
|
BIN
contrib/sdk/sources/expat/doc/expat.png
Normal file
BIN
contrib/sdk/sources/expat/doc/expat.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.0 KiB |
2390
contrib/sdk/sources/expat/doc/reference.html
Normal file
2390
contrib/sdk/sources/expat/doc/reference.html
Normal file
File diff suppressed because it is too large
Load Diff
101
contrib/sdk/sources/expat/doc/style.css
Normal file
101
contrib/sdk/sources/expat/doc/style.css
Normal file
@ -0,0 +1,101 @@
|
|||||||
|
body {
|
||||||
|
background-color: white;
|
||||||
|
border: 0px;
|
||||||
|
margin: 0px;
|
||||||
|
padding: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.corner {
|
||||||
|
width: 200px;
|
||||||
|
height: 80px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.banner {
|
||||||
|
background-color: rgb(110,139,61);
|
||||||
|
color: rgb(255,236,176);
|
||||||
|
padding-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.banner h1 {
|
||||||
|
font-size: 200%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.content {
|
||||||
|
padding: 0em 2em 1em 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.releaseno {
|
||||||
|
background-color: rgb(110,139,61);
|
||||||
|
color: rgb(255,236,176);
|
||||||
|
padding-bottom: 0.3em;
|
||||||
|
padding-top: 0.5em;
|
||||||
|
text-align: center;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.noborder {
|
||||||
|
border-width: 0px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.eg {
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-top: .5em;
|
||||||
|
padding-bottom: .5em;
|
||||||
|
border: solid thin;
|
||||||
|
margin: 1em 0;
|
||||||
|
background-color: tan;
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.pseudocode {
|
||||||
|
padding-left: 1em;
|
||||||
|
padding-top: .5em;
|
||||||
|
padding-bottom: .5em;
|
||||||
|
border: solid thin;
|
||||||
|
margin: 1em 0;
|
||||||
|
background-color: rgb(250,220,180);
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-right: 10%;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handler {
|
||||||
|
width: 100%;
|
||||||
|
border-top-width: thin;
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.handler p {
|
||||||
|
margin-left: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.setter {
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature {
|
||||||
|
color: navy;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fcndec {
|
||||||
|
width: 100%;
|
||||||
|
border-top-width: thin;
|
||||||
|
font-weight: bold;
|
||||||
|
}
|
||||||
|
|
||||||
|
.fcndef {
|
||||||
|
margin-left: 2em;
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
dd {
|
||||||
|
margin-bottom: 2em;
|
||||||
|
}
|
||||||
|
|
||||||
|
.cpp-symbols dt {
|
||||||
|
font-family: monospace;
|
||||||
|
}
|
||||||
|
.cpp-symbols dd {
|
||||||
|
margin-bottom: 1em;
|
||||||
|
}
|
BIN
contrib/sdk/sources/expat/doc/valid-xhtml10.png
Normal file
BIN
contrib/sdk/sources/expat/doc/valid-xhtml10.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 2.3 KiB |
468
contrib/sdk/sources/expat/doc/xmlwf.sgml
Normal file
468
contrib/sdk/sources/expat/doc/xmlwf.sgml
Normal file
@ -0,0 +1,468 @@
|
|||||||
|
<!doctype refentry PUBLIC "-//OASIS//DTD DocBook V4.1//EN" [
|
||||||
|
|
||||||
|
<!-- Process this file with docbook-to-man to generate an nroff manual
|
||||||
|
page: `docbook-to-man manpage.sgml > manpage.1'. You may view
|
||||||
|
the manual page with: `docbook-to-man manpage.sgml | nroff -man |
|
||||||
|
less'. A typical entry in a Makefile or Makefile.am is:
|
||||||
|
|
||||||
|
manpage.1: manpage.sgml
|
||||||
|
docbook-to-man $< > $@
|
||||||
|
-->
|
||||||
|
|
||||||
|
<!-- Fill in your name for FIRSTNAME and SURNAME. -->
|
||||||
|
<!ENTITY dhfirstname "<firstname>Scott</firstname>">
|
||||||
|
<!ENTITY dhsurname "<surname>Bronson</surname>">
|
||||||
|
<!-- Please adjust the date whenever revising the manpage. -->
|
||||||
|
<!ENTITY dhdate "<date>December 5, 2001</date>">
|
||||||
|
<!-- SECTION should be 1-8, maybe w/ subsection other parameters are
|
||||||
|
allowed: see man(7), man(1). -->
|
||||||
|
<!ENTITY dhsection "<manvolnum>1</manvolnum>">
|
||||||
|
<!ENTITY dhemail "<email>bronson@rinspin.com</email>">
|
||||||
|
<!ENTITY dhusername "Scott Bronson">
|
||||||
|
<!ENTITY dhucpackage "<refentrytitle>XMLWF</refentrytitle>">
|
||||||
|
<!ENTITY dhpackage "xmlwf">
|
||||||
|
|
||||||
|
<!ENTITY debian "<productname>Debian GNU/Linux</productname>">
|
||||||
|
<!ENTITY gnu "<acronym>GNU</acronym>">
|
||||||
|
]>
|
||||||
|
|
||||||
|
<refentry>
|
||||||
|
<refentryinfo>
|
||||||
|
<address>
|
||||||
|
&dhemail;
|
||||||
|
</address>
|
||||||
|
<author>
|
||||||
|
&dhfirstname;
|
||||||
|
&dhsurname;
|
||||||
|
</author>
|
||||||
|
<copyright>
|
||||||
|
<year>2001</year>
|
||||||
|
<holder>&dhusername;</holder>
|
||||||
|
</copyright>
|
||||||
|
&dhdate;
|
||||||
|
</refentryinfo>
|
||||||
|
<refmeta>
|
||||||
|
&dhucpackage;
|
||||||
|
|
||||||
|
&dhsection;
|
||||||
|
</refmeta>
|
||||||
|
<refnamediv>
|
||||||
|
<refname>&dhpackage;</refname>
|
||||||
|
|
||||||
|
<refpurpose>Determines if an XML document is well-formed</refpurpose>
|
||||||
|
</refnamediv>
|
||||||
|
<refsynopsisdiv>
|
||||||
|
<cmdsynopsis>
|
||||||
|
<command>&dhpackage;</command>
|
||||||
|
<arg><option>-s</option></arg>
|
||||||
|
<arg><option>-n</option></arg>
|
||||||
|
<arg><option>-p</option></arg>
|
||||||
|
<arg><option>-x</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-e <replaceable>encoding</replaceable></option></arg>
|
||||||
|
<arg><option>-w</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-d <replaceable>output-dir</replaceable></option></arg>
|
||||||
|
<arg><option>-c</option></arg>
|
||||||
|
<arg><option>-m</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-r</option></arg>
|
||||||
|
<arg><option>-t</option></arg>
|
||||||
|
|
||||||
|
<arg><option>-v</option></arg>
|
||||||
|
|
||||||
|
<arg>file ...</arg>
|
||||||
|
</cmdsynopsis>
|
||||||
|
</refsynopsisdiv>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>DESCRIPTION</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
<command>&dhpackage;</command> uses the Expat library to
|
||||||
|
determine if an XML document is well-formed. It is
|
||||||
|
non-validating.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If you do not specify any files on the command-line, and you
|
||||||
|
have a recent version of <command>&dhpackage;</command>, the
|
||||||
|
input file will be read from standard input.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>WELL-FORMED DOCUMENTS</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
A well-formed document must adhere to the
|
||||||
|
following rules:
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<itemizedlist>
|
||||||
|
<listitem><para>
|
||||||
|
The file begins with an XML declaration. For instance,
|
||||||
|
<literal><?xml version="1.0" standalone="yes"?></literal>.
|
||||||
|
<emphasis>NOTE:</emphasis>
|
||||||
|
<command>&dhpackage;</command> does not currently
|
||||||
|
check for a valid XML declaration.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
Every start tag is either empty (<tag/>)
|
||||||
|
or has a corresponding end tag.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
There is exactly one root element. This element must contain
|
||||||
|
all other elements in the document. Only comments, white
|
||||||
|
space, and processing instructions may come after the close
|
||||||
|
of the root element.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
All elements nest properly.
|
||||||
|
</para></listitem>
|
||||||
|
<listitem><para>
|
||||||
|
All attribute values are enclosed in quotes (either single
|
||||||
|
or double).
|
||||||
|
</para></listitem>
|
||||||
|
</itemizedlist>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
If the document has a DTD, and it strictly complies with that
|
||||||
|
DTD, then the document is also considered <emphasis>valid</emphasis>.
|
||||||
|
<command>&dhpackage;</command> is a non-validating parser --
|
||||||
|
it does not check the DTD. However, it does support
|
||||||
|
external entities (see the <option>-x</option> option).
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>OPTIONS</title>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
When an option includes an argument, you may specify the argument either
|
||||||
|
separately ("<option>-d</option> output") or concatenated with the
|
||||||
|
option ("<option>-d</option>output"). <command>&dhpackage;</command>
|
||||||
|
supports both.
|
||||||
|
</para>
|
||||||
|
|
||||||
|
<variablelist>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-c</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
If the input file is well-formed and <command>&dhpackage;</command>
|
||||||
|
doesn't encounter any errors, the input file is simply copied to
|
||||||
|
the output directory unchanged.
|
||||||
|
This implies no namespaces (turns off <option>-n</option>) and
|
||||||
|
requires <option>-d</option> to specify an output file.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-d output-dir</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Specifies a directory to contain transformed
|
||||||
|
representations of the input files.
|
||||||
|
By default, <option>-d</option> outputs a canonical representation
|
||||||
|
(described below).
|
||||||
|
You can select different output formats using <option>-c</option>
|
||||||
|
and <option>-m</option>.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The output filenames will
|
||||||
|
be exactly the same as the input filenames or "STDIN" if the input is
|
||||||
|
coming from standard input. Therefore, you must be careful that the
|
||||||
|
output file does not go into the same directory as the input
|
||||||
|
file. Otherwise, <command>&dhpackage;</command> will delete the
|
||||||
|
input file before it generates the output file (just like running
|
||||||
|
<literal>cat < file > file</literal> in most shells).
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Two structurally equivalent XML documents have a byte-for-byte
|
||||||
|
identical canonical XML representation.
|
||||||
|
Note that ignorable white space is considered significant and
|
||||||
|
is treated equivalently to data.
|
||||||
|
More on canonical XML can be found at
|
||||||
|
http://www.jclark.com/xml/canonxml.html .
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-e encoding</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Specifies the character encoding for the document, overriding
|
||||||
|
any document encoding declaration. <command>&dhpackage;</command>
|
||||||
|
supports four built-in encodings:
|
||||||
|
<literal>US-ASCII</literal>,
|
||||||
|
<literal>UTF-8</literal>,
|
||||||
|
<literal>UTF-16</literal>, and
|
||||||
|
<literal>ISO-8859-1</literal>.
|
||||||
|
Also see the <option>-w</option> option.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-m</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Outputs some strange sort of XML file that completely
|
||||||
|
describes the the input file, including character postitions.
|
||||||
|
Requires <option>-d</option> to specify an output file.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-n</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Turns on namespace processing. (describe namespaces)
|
||||||
|
<option>-c</option> disables namespaces.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-p</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Tells xmlwf to process external DTDs and parameter
|
||||||
|
entities.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Normally <command>&dhpackage;</command> never parses parameter
|
||||||
|
entities. <option>-p</option> tells it to always parse them.
|
||||||
|
<option>-p</option> implies <option>-x</option>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-r</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Normally <command>&dhpackage;</command> memory-maps the XML file
|
||||||
|
before parsing; this can result in faster parsing on many
|
||||||
|
platforms.
|
||||||
|
<option>-r</option> turns off memory-mapping and uses normal file
|
||||||
|
IO calls instead.
|
||||||
|
Of course, memory-mapping is automatically turned off
|
||||||
|
when reading from standard input.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Use of memory-mapping can cause some platforms to report
|
||||||
|
substantially higher memory usage for
|
||||||
|
<command>&dhpackage;</command>, but this appears to be a matter of
|
||||||
|
the operating system reporting memory in a strange way; there is
|
||||||
|
not a leak in <command>&dhpackage;</command>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-s</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prints an error if the document is not standalone.
|
||||||
|
A document is standalone if it has no external subset and no
|
||||||
|
references to parameter entities.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-t</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Turns on timings. This tells Expat to parse the entire file,
|
||||||
|
but not perform any processing.
|
||||||
|
This gives a fairly accurate idea of the raw speed of Expat itself
|
||||||
|
without client overhead.
|
||||||
|
<option>-t</option> turns off most of the output options
|
||||||
|
(<option>-d</option>, <option>-m</option>, <option>-c</option>,
|
||||||
|
...).
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-v</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Prints the version of the Expat library being used, including some
|
||||||
|
information on the compile-time configuration of the library, and
|
||||||
|
then exits.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-w</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Enables support for Windows code pages.
|
||||||
|
Normally, <command>&dhpackage;</command> will throw an error if it
|
||||||
|
runs across an encoding that it is not equipped to handle itself. With
|
||||||
|
<option>-w</option>, &dhpackage; will try to use a Windows code
|
||||||
|
page. See also <option>-e</option>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>-x</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
Turns on parsing external entities.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
Non-validating parsers are not required to resolve external
|
||||||
|
entities, or even expand entities at all.
|
||||||
|
Expat always expands internal entities (?),
|
||||||
|
but external entity parsing must be enabled explicitly.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
External entities are simply entities that obtain their
|
||||||
|
data from outside the XML file currently being parsed.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
This is an example of an internal entity:
|
||||||
|
<literallayout>
|
||||||
|
<!ENTITY vers '1.0.2'>
|
||||||
|
</literallayout>
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
And here are some examples of external entities:
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
<!ENTITY header SYSTEM "header-&vers;.xml"> (parsed)
|
||||||
|
<!ENTITY logo SYSTEM "logo.png" PNG> (unparsed)
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
|
||||||
|
<varlistentry>
|
||||||
|
<term><option>--</option></term>
|
||||||
|
<listitem>
|
||||||
|
<para>
|
||||||
|
(Two hyphens.)
|
||||||
|
Terminates the list of options. This is only needed if a filename
|
||||||
|
starts with a hyphen. For example:
|
||||||
|
</para>
|
||||||
|
<literallayout>
|
||||||
|
&dhpackage; -- -myfile.xml
|
||||||
|
</literallayout>
|
||||||
|
<para>
|
||||||
|
will run <command>&dhpackage;</command> on the file
|
||||||
|
<filename>-myfile.xml</filename>.
|
||||||
|
</para>
|
||||||
|
</listitem>
|
||||||
|
</varlistentry>
|
||||||
|
</variablelist>
|
||||||
|
|
||||||
|
<para>
|
||||||
|
Older versions of <command>&dhpackage;</command> do not support
|
||||||
|
reading from standard input.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>OUTPUT</title>
|
||||||
|
<para>
|
||||||
|
If an input file is not well-formed,
|
||||||
|
<command>&dhpackage;</command> prints a single line describing
|
||||||
|
the problem to standard output. If a file is well formed,
|
||||||
|
<command>&dhpackage;</command> outputs nothing.
|
||||||
|
Note that the result code is <emphasis>not</emphasis> set.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>BUGS</title>
|
||||||
|
<para>
|
||||||
|
<command>&dhpackage;</command> returns a 0 - noerr result,
|
||||||
|
even if the file is not well-formed. There is no good way for
|
||||||
|
a program to use <command>&dhpackage;</command> to quickly
|
||||||
|
check a file -- it must parse <command>&dhpackage;</command>'s
|
||||||
|
standard output.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
The errors should go to standard error, not standard output.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
There should be a way to get <option>-d</option> to send its
|
||||||
|
output to standard output rather than forcing the user to send
|
||||||
|
it to a file.
|
||||||
|
</para>
|
||||||
|
<para>
|
||||||
|
I have no idea why anyone would want to use the
|
||||||
|
<option>-d</option>, <option>-c</option>, and
|
||||||
|
<option>-m</option> options. If someone could explain it to
|
||||||
|
me, I'd like to add this information to this manpage.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>ALTERNATIVES</title>
|
||||||
|
<para>
|
||||||
|
Here are some XML validators on the web:
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
http://www.hcrc.ed.ac.uk/~richard/xml-check.html
|
||||||
|
http://www.stg.brown.edu/service/xmlvalid/
|
||||||
|
http://www.scripting.com/frontier5/xml/code/xmlValidator.html
|
||||||
|
http://www.xml.com/pub/a/tools/ruwf/check.html
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>SEE ALSO</title>
|
||||||
|
<para>
|
||||||
|
|
||||||
|
<literallayout>
|
||||||
|
The Expat home page: http://www.libexpat.org/
|
||||||
|
The W3 XML specification: http://www.w3.org/TR/REC-xml
|
||||||
|
</literallayout>
|
||||||
|
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
|
||||||
|
<refsect1>
|
||||||
|
<title>AUTHOR</title>
|
||||||
|
<para>
|
||||||
|
This manual page was written by &dhusername; &dhemail; for
|
||||||
|
the &debian; system (but may be used by others). Permission is
|
||||||
|
granted to copy, distribute and/or modify this document under
|
||||||
|
the terms of the <acronym>GNU</acronym> Free Documentation
|
||||||
|
License, Version 1.1.
|
||||||
|
</para>
|
||||||
|
</refsect1>
|
||||||
|
</refentry>
|
||||||
|
|
||||||
|
<!-- Keep this comment at the end of the file
|
||||||
|
Local variables:
|
||||||
|
mode: sgml
|
||||||
|
sgml-omittag:t
|
||||||
|
sgml-shorttag:t
|
||||||
|
sgml-minimize-attributes:nil
|
||||||
|
sgml-always-quote-attributes:t
|
||||||
|
sgml-indent-step:2
|
||||||
|
sgml-indent-data:t
|
||||||
|
sgml-parent-document:nil
|
||||||
|
sgml-default-dtd-file:nil
|
||||||
|
sgml-exposed-tags:nil
|
||||||
|
sgml-local-catalogs:nil
|
||||||
|
sgml-local-ecat-files:nil
|
||||||
|
End:
|
||||||
|
-->
|
65
contrib/sdk/sources/expat/examples/elements.c
Normal file
65
contrib/sdk/sources/expat/examples/elements.c
Normal file
@ -0,0 +1,65 @@
|
|||||||
|
/* This is simple demonstration of how to use expat. This program
|
||||||
|
reads an XML document from standard input and writes a line with
|
||||||
|
the name of each element to standard output indenting child
|
||||||
|
elements by one tab stop more than their parent element.
|
||||||
|
It must be used with Expat compiled for UTF-8 output.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include "expat.h"
|
||||||
|
|
||||||
|
#if defined(__amigaos__) && defined(__USE_INLINE__)
|
||||||
|
#include <proto/expat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XML_LARGE_SIZE
|
||||||
|
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
|
||||||
|
#define XML_FMT_INT_MOD "I64"
|
||||||
|
#else
|
||||||
|
#define XML_FMT_INT_MOD "ll"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define XML_FMT_INT_MOD "l"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
static void XMLCALL
|
||||||
|
startElement(void *userData, const char *name, const char **atts)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
int *depthPtr = (int *)userData;
|
||||||
|
for (i = 0; i < *depthPtr; i++)
|
||||||
|
putchar('\t');
|
||||||
|
puts(name);
|
||||||
|
*depthPtr += 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void XMLCALL
|
||||||
|
endElement(void *userData, const char *name)
|
||||||
|
{
|
||||||
|
int *depthPtr = (int *)userData;
|
||||||
|
*depthPtr -= 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
char buf[BUFSIZ];
|
||||||
|
XML_Parser parser = XML_ParserCreate(NULL);
|
||||||
|
int done;
|
||||||
|
int depth = 0;
|
||||||
|
XML_SetUserData(parser, &depth);
|
||||||
|
XML_SetElementHandler(parser, startElement, endElement);
|
||||||
|
do {
|
||||||
|
int len = (int)fread(buf, 1, sizeof(buf), stdin);
|
||||||
|
done = len < sizeof(buf);
|
||||||
|
if (XML_Parse(parser, buf, len, done) == XML_STATUS_ERROR) {
|
||||||
|
fprintf(stderr,
|
||||||
|
"%s at line %" XML_FMT_INT_MOD "u\n",
|
||||||
|
XML_ErrorString(XML_GetErrorCode(parser)),
|
||||||
|
XML_GetCurrentLineNumber(parser));
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
} while (!done);
|
||||||
|
XML_ParserFree(parser);
|
||||||
|
return 0;
|
||||||
|
}
|
103
contrib/sdk/sources/expat/examples/elements.dsp
Normal file
103
contrib/sdk/sources/expat/examples/elements.dsp
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="elements" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=elements - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "elements.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "elements.mak" CFG="elements - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "elements - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "elements - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "elements - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "..\win32\bin\Release"
|
||||||
|
# PROP Intermediate_Dir "..\win32\tmp\Release-elements"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FD /c
|
||||||
|
# SUBTRACT CPP /X /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 libexpatMT.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\win32\bin\Release" /out:"..\win32\bin\Release\elements.exe"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "elements - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "..\win32\bin\Debug"
|
||||||
|
# PROP Intermediate_Dir "..\win32\tmp\Debug-elements"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MTd /W3 /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /D "XML_STATIC" /FR /FD /GZ /c
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 libexpatMT.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\win32\bin\Debug" /out:"..\win32\bin\Debug\elements.exe"
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "elements - Win32 Release"
|
||||||
|
# Name "elements - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\elements.c
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
106
contrib/sdk/sources/expat/examples/outline.c
Normal file
106
contrib/sdk/sources/expat/examples/outline.c
Normal file
@ -0,0 +1,106 @@
|
|||||||
|
/*****************************************************************
|
||||||
|
* outline.c
|
||||||
|
*
|
||||||
|
* Copyright 1999, Clark Cooper
|
||||||
|
* All rights reserved.
|
||||||
|
*
|
||||||
|
* This program is free software; you can redistribute it and/or
|
||||||
|
* modify it under the terms of the license contained in the
|
||||||
|
* COPYING file that comes with the expat distribution.
|
||||||
|
*
|
||||||
|
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
||||||
|
* EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
||||||
|
* MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
|
||||||
|
* IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
|
||||||
|
* CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
|
||||||
|
* TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
|
||||||
|
* SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||||
|
*
|
||||||
|
* Read an XML document from standard input and print an element
|
||||||
|
* outline on standard output.
|
||||||
|
* Must be used with Expat compiled for UTF-8 output.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
#include <expat.h>
|
||||||
|
|
||||||
|
#if defined(__amigaos__) && defined(__USE_INLINE__)
|
||||||
|
#include <proto/expat.h>
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XML_LARGE_SIZE
|
||||||
|
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
|
||||||
|
#define XML_FMT_INT_MOD "I64"
|
||||||
|
#else
|
||||||
|
#define XML_FMT_INT_MOD "ll"
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
#define XML_FMT_INT_MOD "l"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#define BUFFSIZE 8192
|
||||||
|
|
||||||
|
char Buff[BUFFSIZE];
|
||||||
|
|
||||||
|
int Depth;
|
||||||
|
|
||||||
|
static void XMLCALL
|
||||||
|
start(void *data, const char *el, const char **attr)
|
||||||
|
{
|
||||||
|
int i;
|
||||||
|
|
||||||
|
for (i = 0; i < Depth; i++)
|
||||||
|
printf(" ");
|
||||||
|
|
||||||
|
printf("%s", el);
|
||||||
|
|
||||||
|
for (i = 0; attr[i]; i += 2) {
|
||||||
|
printf(" %s='%s'", attr[i], attr[i + 1]);
|
||||||
|
}
|
||||||
|
|
||||||
|
printf("\n");
|
||||||
|
Depth++;
|
||||||
|
}
|
||||||
|
|
||||||
|
static void XMLCALL
|
||||||
|
end(void *data, const char *el)
|
||||||
|
{
|
||||||
|
Depth--;
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
main(int argc, char *argv[])
|
||||||
|
{
|
||||||
|
XML_Parser p = XML_ParserCreate(NULL);
|
||||||
|
if (! p) {
|
||||||
|
fprintf(stderr, "Couldn't allocate memory for parser\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
XML_SetElementHandler(p, start, end);
|
||||||
|
|
||||||
|
for (;;) {
|
||||||
|
int done;
|
||||||
|
int len;
|
||||||
|
|
||||||
|
len = (int)fread(Buff, 1, BUFFSIZE, stdin);
|
||||||
|
if (ferror(stdin)) {
|
||||||
|
fprintf(stderr, "Read error\n");
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
done = feof(stdin);
|
||||||
|
|
||||||
|
if (XML_Parse(p, Buff, len, done) == XML_STATUS_ERROR) {
|
||||||
|
fprintf(stderr, "Parse error at line %" XML_FMT_INT_MOD "u:\n%s\n",
|
||||||
|
XML_GetCurrentLineNumber(p),
|
||||||
|
XML_ErrorString(XML_GetErrorCode(p)));
|
||||||
|
exit(-1);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (done)
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
XML_ParserFree(p);
|
||||||
|
return 0;
|
||||||
|
}
|
103
contrib/sdk/sources/expat/examples/outline.dsp
Normal file
103
contrib/sdk/sources/expat/examples/outline.dsp
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
# Microsoft Developer Studio Project File - Name="outline" - Package Owner=<4>
|
||||||
|
# Microsoft Developer Studio Generated Build File, Format Version 6.00
|
||||||
|
# ** DO NOT EDIT **
|
||||||
|
|
||||||
|
# TARGTYPE "Win32 (x86) Console Application" 0x0103
|
||||||
|
|
||||||
|
CFG=outline - Win32 Debug
|
||||||
|
!MESSAGE This is not a valid makefile. To build this project using NMAKE,
|
||||||
|
!MESSAGE use the Export Makefile command and run
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "outline.mak".
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE You can specify a configuration when running NMAKE
|
||||||
|
!MESSAGE by defining the macro CFG on the command line. For example:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE NMAKE /f "outline.mak" CFG="outline - Win32 Debug"
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE Possible choices for configuration are:
|
||||||
|
!MESSAGE
|
||||||
|
!MESSAGE "outline - Win32 Release" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE "outline - Win32 Debug" (based on "Win32 (x86) Console Application")
|
||||||
|
!MESSAGE
|
||||||
|
|
||||||
|
# Begin Project
|
||||||
|
# PROP AllowPerConfigDependencies 0
|
||||||
|
# PROP Scc_ProjName ""
|
||||||
|
# PROP Scc_LocalPath ""
|
||||||
|
CPP=cl.exe
|
||||||
|
RSC=rc.exe
|
||||||
|
|
||||||
|
!IF "$(CFG)" == "outline - Win32 Release"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 0
|
||||||
|
# PROP BASE Output_Dir "Release"
|
||||||
|
# PROP BASE Intermediate_Dir "Release"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 0
|
||||||
|
# PROP Output_Dir "..\win32\bin\Release"
|
||||||
|
# PROP Intermediate_Dir "..\win32\tmp\Release-outline"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /GX /O2 /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /c
|
||||||
|
# ADD CPP /nologo /MT /W3 /GX /O2 /I "..\lib" /D "WIN32" /D "NDEBUG" /D "_CONSOLE" /D "_MBCS" /FD /c
|
||||||
|
# SUBTRACT CPP /X /YX
|
||||||
|
# ADD BASE RSC /l 0x409 /d "NDEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "NDEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 /nologo /subsystem:console /machine:I386
|
||||||
|
# ADD LINK32 libexpat.lib /nologo /subsystem:console /pdb:none /machine:I386 /libpath:"..\win32\bin\Release" /out:"..\win32\bin\Release\outline.exe"
|
||||||
|
|
||||||
|
!ELSEIF "$(CFG)" == "outline - Win32 Debug"
|
||||||
|
|
||||||
|
# PROP BASE Use_MFC 0
|
||||||
|
# PROP BASE Use_Debug_Libraries 1
|
||||||
|
# PROP BASE Output_Dir "Debug"
|
||||||
|
# PROP BASE Intermediate_Dir "Debug"
|
||||||
|
# PROP BASE Target_Dir ""
|
||||||
|
# PROP Use_MFC 0
|
||||||
|
# PROP Use_Debug_Libraries 1
|
||||||
|
# PROP Output_Dir "..\win32\bin\Debug"
|
||||||
|
# PROP Intermediate_Dir "..\win32\tmp\Debug-outline"
|
||||||
|
# PROP Ignore_Export_Lib 0
|
||||||
|
# PROP Target_Dir ""
|
||||||
|
# ADD BASE CPP /nologo /W3 /Gm /GX /ZI /Od /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /YX /FD /GZ /c
|
||||||
|
# ADD CPP /nologo /MTd /W3 /Gm /GX /ZI /Od /I "..\lib" /D "WIN32" /D "_DEBUG" /D "_CONSOLE" /D "_MBCS" /FD /GZ /c
|
||||||
|
# ADD BASE RSC /l 0x409 /d "_DEBUG"
|
||||||
|
# ADD RSC /l 0x409 /d "_DEBUG"
|
||||||
|
BSC32=bscmake.exe
|
||||||
|
# ADD BASE BSC32 /nologo
|
||||||
|
# ADD BSC32 /nologo
|
||||||
|
LINK32=link.exe
|
||||||
|
# ADD BASE LINK32 /nologo /subsystem:console /debug /machine:I386 /pdbtype:sept
|
||||||
|
# ADD LINK32 libexpat.lib /nologo /subsystem:console /pdb:none /debug /machine:I386 /libpath:"..\win32\bin\Debug" /out:"..\win32\bin\Debug\outline.exe"
|
||||||
|
|
||||||
|
!ENDIF
|
||||||
|
|
||||||
|
# Begin Target
|
||||||
|
|
||||||
|
# Name "outline - Win32 Release"
|
||||||
|
# Name "outline - Win32 Debug"
|
||||||
|
# Begin Group "Source Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "cpp;c;cxx;rc;def;r;odl;idl;hpj;bat"
|
||||||
|
# Begin Source File
|
||||||
|
|
||||||
|
SOURCE=.\outline.c
|
||||||
|
# End Source File
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Header Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "h;hpp;hxx;hm;inl"
|
||||||
|
# End Group
|
||||||
|
# Begin Group "Resource Files"
|
||||||
|
|
||||||
|
# PROP Default_Filter "ico;cur;bmp;dlg;rc2;rct;bin;rgs;gif;jpg;jpeg;jpe"
|
||||||
|
# End Group
|
||||||
|
# End Target
|
||||||
|
# End Project
|
103
contrib/sdk/sources/expat/expat_config.h
Normal file
103
contrib/sdk/sources/expat/expat_config.h
Normal file
@ -0,0 +1,103 @@
|
|||||||
|
/* expat_config.h. Generated from expat_config.h.in by configure. */
|
||||||
|
/* expat_config.h.in. Generated from configure.in by autoheader. */
|
||||||
|
|
||||||
|
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
|
||||||
|
#define BYTEORDER 1234
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bcopy' function. */
|
||||||
|
/* #undef HAVE_BCOPY */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <dlfcn.h> header file. */
|
||||||
|
/* #undef HAVE_DLFCN_H */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <fcntl.h> header file. */
|
||||||
|
#define HAVE_FCNTL_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `getpagesize' function. */
|
||||||
|
#define HAVE_GETPAGESIZE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <inttypes.h> header file. */
|
||||||
|
#define HAVE_INTTYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#define HAVE_MEMMOVE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <memory.h> header file. */
|
||||||
|
#define HAVE_MEMORY_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have a working `mmap' system call. */
|
||||||
|
/* #undef HAVE_MMAP */
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdint.h> header file. */
|
||||||
|
#define HAVE_STDINT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <stdlib.h> header file. */
|
||||||
|
#define HAVE_STDLIB_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <strings.h> header file. */
|
||||||
|
#define HAVE_STRINGS_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <string.h> header file. */
|
||||||
|
#define HAVE_STRING_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/param.h> header file. */
|
||||||
|
#define HAVE_SYS_PARAM_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/stat.h> header file. */
|
||||||
|
#define HAVE_SYS_STAT_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <sys/types.h> header file. */
|
||||||
|
#define HAVE_SYS_TYPES_H 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
|
||||||
|
/* Define to the sub-directory in which libtool stores uninstalled libraries.
|
||||||
|
*/
|
||||||
|
#define LT_OBJDIR ".libs/"
|
||||||
|
|
||||||
|
/* Define to the address where bug reports for this package should be sent. */
|
||||||
|
#define PACKAGE_BUGREPORT "expat-bugs@libexpat.org"
|
||||||
|
|
||||||
|
/* Define to the full name of this package. */
|
||||||
|
#define PACKAGE_NAME "expat"
|
||||||
|
|
||||||
|
/* Define to the full name and version of this package. */
|
||||||
|
#define PACKAGE_STRING "expat 2.1.0"
|
||||||
|
|
||||||
|
/* Define to the one symbol short name of this package. */
|
||||||
|
#define PACKAGE_TARNAME "expat"
|
||||||
|
|
||||||
|
/* Define to the home page for this package. */
|
||||||
|
#define PACKAGE_URL ""
|
||||||
|
|
||||||
|
/* Define to the version of this package. */
|
||||||
|
#define PACKAGE_VERSION "2.1.0"
|
||||||
|
|
||||||
|
/* Define to 1 if you have the ANSI C header files. */
|
||||||
|
#define STDC_HEADERS 1
|
||||||
|
|
||||||
|
/* whether byteorder is bigendian */
|
||||||
|
/* #undef WORDS_BIGENDIAN */
|
||||||
|
|
||||||
|
/* Define to specify how much context to retain around the current parse
|
||||||
|
point. */
|
||||||
|
#define XML_CONTEXT_BYTES 1024
|
||||||
|
|
||||||
|
/* Define to make parameter entity parsing functionality available. */
|
||||||
|
#define XML_DTD 1
|
||||||
|
|
||||||
|
/* Define to make XML Namespaces functionality available. */
|
||||||
|
#define XML_NS 1
|
||||||
|
|
||||||
|
/* Define to __FUNCTION__ or "" if `__func__' does not conform to ANSI C. */
|
||||||
|
/* #undef __func__ */
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
/* #undef const */
|
||||||
|
|
||||||
|
/* Define to `long int' if <sys/types.h> does not define. */
|
||||||
|
/* #undef off_t */
|
||||||
|
|
||||||
|
/* Define to `unsigned int' if <sys/types.h> does not define. */
|
||||||
|
/* #undef size_t */
|
32
contrib/sdk/sources/expat/lib/amigaconfig.h
Normal file
32
contrib/sdk/sources/expat/lib/amigaconfig.h
Normal file
@ -0,0 +1,32 @@
|
|||||||
|
#ifndef AMIGACONFIG_H
|
||||||
|
#define AMIGACONFIG_H
|
||||||
|
|
||||||
|
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
|
||||||
|
#define BYTEORDER 4321
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bcopy' function. */
|
||||||
|
#define HAVE_BCOPY 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <check.h> header file. */
|
||||||
|
#undef HAVE_CHECK_H
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#define HAVE_MEMMOVE 1
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#define HAVE_UNISTD_H 1
|
||||||
|
|
||||||
|
/* whether byteorder is bigendian */
|
||||||
|
#define WORDS_BIGENDIAN
|
||||||
|
|
||||||
|
/* Define to specify how much context to retain around the current parse
|
||||||
|
point. */
|
||||||
|
#define XML_CONTEXT_BYTES 1024
|
||||||
|
|
||||||
|
/* Define to make parameter entity parsing functionality available. */
|
||||||
|
#define XML_DTD
|
||||||
|
|
||||||
|
/* Define to make XML Namespaces functionality available. */
|
||||||
|
#define XML_NS
|
||||||
|
|
||||||
|
#endif /* AMIGACONFIG_H */
|
92
contrib/sdk/sources/expat/lib/ascii.h
Normal file
92
contrib/sdk/sources/expat/lib/ascii.h
Normal file
@ -0,0 +1,92 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#define ASCII_A 0x41
|
||||||
|
#define ASCII_B 0x42
|
||||||
|
#define ASCII_C 0x43
|
||||||
|
#define ASCII_D 0x44
|
||||||
|
#define ASCII_E 0x45
|
||||||
|
#define ASCII_F 0x46
|
||||||
|
#define ASCII_G 0x47
|
||||||
|
#define ASCII_H 0x48
|
||||||
|
#define ASCII_I 0x49
|
||||||
|
#define ASCII_J 0x4A
|
||||||
|
#define ASCII_K 0x4B
|
||||||
|
#define ASCII_L 0x4C
|
||||||
|
#define ASCII_M 0x4D
|
||||||
|
#define ASCII_N 0x4E
|
||||||
|
#define ASCII_O 0x4F
|
||||||
|
#define ASCII_P 0x50
|
||||||
|
#define ASCII_Q 0x51
|
||||||
|
#define ASCII_R 0x52
|
||||||
|
#define ASCII_S 0x53
|
||||||
|
#define ASCII_T 0x54
|
||||||
|
#define ASCII_U 0x55
|
||||||
|
#define ASCII_V 0x56
|
||||||
|
#define ASCII_W 0x57
|
||||||
|
#define ASCII_X 0x58
|
||||||
|
#define ASCII_Y 0x59
|
||||||
|
#define ASCII_Z 0x5A
|
||||||
|
|
||||||
|
#define ASCII_a 0x61
|
||||||
|
#define ASCII_b 0x62
|
||||||
|
#define ASCII_c 0x63
|
||||||
|
#define ASCII_d 0x64
|
||||||
|
#define ASCII_e 0x65
|
||||||
|
#define ASCII_f 0x66
|
||||||
|
#define ASCII_g 0x67
|
||||||
|
#define ASCII_h 0x68
|
||||||
|
#define ASCII_i 0x69
|
||||||
|
#define ASCII_j 0x6A
|
||||||
|
#define ASCII_k 0x6B
|
||||||
|
#define ASCII_l 0x6C
|
||||||
|
#define ASCII_m 0x6D
|
||||||
|
#define ASCII_n 0x6E
|
||||||
|
#define ASCII_o 0x6F
|
||||||
|
#define ASCII_p 0x70
|
||||||
|
#define ASCII_q 0x71
|
||||||
|
#define ASCII_r 0x72
|
||||||
|
#define ASCII_s 0x73
|
||||||
|
#define ASCII_t 0x74
|
||||||
|
#define ASCII_u 0x75
|
||||||
|
#define ASCII_v 0x76
|
||||||
|
#define ASCII_w 0x77
|
||||||
|
#define ASCII_x 0x78
|
||||||
|
#define ASCII_y 0x79
|
||||||
|
#define ASCII_z 0x7A
|
||||||
|
|
||||||
|
#define ASCII_0 0x30
|
||||||
|
#define ASCII_1 0x31
|
||||||
|
#define ASCII_2 0x32
|
||||||
|
#define ASCII_3 0x33
|
||||||
|
#define ASCII_4 0x34
|
||||||
|
#define ASCII_5 0x35
|
||||||
|
#define ASCII_6 0x36
|
||||||
|
#define ASCII_7 0x37
|
||||||
|
#define ASCII_8 0x38
|
||||||
|
#define ASCII_9 0x39
|
||||||
|
|
||||||
|
#define ASCII_TAB 0x09
|
||||||
|
#define ASCII_SPACE 0x20
|
||||||
|
#define ASCII_EXCL 0x21
|
||||||
|
#define ASCII_QUOT 0x22
|
||||||
|
#define ASCII_AMP 0x26
|
||||||
|
#define ASCII_APOS 0x27
|
||||||
|
#define ASCII_MINUS 0x2D
|
||||||
|
#define ASCII_PERIOD 0x2E
|
||||||
|
#define ASCII_COLON 0x3A
|
||||||
|
#define ASCII_SEMI 0x3B
|
||||||
|
#define ASCII_LT 0x3C
|
||||||
|
#define ASCII_EQUALS 0x3D
|
||||||
|
#define ASCII_GT 0x3E
|
||||||
|
#define ASCII_LSQB 0x5B
|
||||||
|
#define ASCII_RSQB 0x5D
|
||||||
|
#define ASCII_UNDERSCORE 0x5F
|
||||||
|
#define ASCII_LPAREN 0x28
|
||||||
|
#define ASCII_RPAREN 0x29
|
||||||
|
#define ASCII_FF 0x0C
|
||||||
|
#define ASCII_SLASH 0x2F
|
||||||
|
#define ASCII_HASH 0x23
|
||||||
|
#define ASCII_PIPE 0x7C
|
||||||
|
#define ASCII_COMMA 0x2C
|
36
contrib/sdk/sources/expat/lib/asciitab.h
Normal file
36
contrib/sdk/sources/expat/lib/asciitab.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
|
||||||
|
/* 0x0C */ BT_NONXML, BT_CR, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
|
||||||
|
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
|
||||||
|
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
|
||||||
|
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
|
||||||
|
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
|
||||||
|
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
|
||||||
|
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
|
||||||
|
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
|
||||||
|
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
|
||||||
|
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
|
||||||
|
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
|
||||||
|
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
|
||||||
|
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
|
||||||
|
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
|
||||||
|
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,
|
1047
contrib/sdk/sources/expat/lib/expat.h
Normal file
1047
contrib/sdk/sources/expat/lib/expat.h
Normal file
File diff suppressed because it is too large
Load Diff
115
contrib/sdk/sources/expat/lib/expat_external.h
Normal file
115
contrib/sdk/sources/expat/lib/expat_external.h
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/* Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef Expat_External_INCLUDED
|
||||||
|
#define Expat_External_INCLUDED 1
|
||||||
|
|
||||||
|
/* External API definitions */
|
||||||
|
|
||||||
|
#if defined(_MSC_EXTENSIONS) && !defined(__BEOS__) && !defined(__CYGWIN__)
|
||||||
|
#define XML_USE_MSC_EXTENSIONS 1
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Expat tries very hard to make the API boundary very specifically
|
||||||
|
defined. There are two macros defined to control this boundary;
|
||||||
|
each of these can be defined before including this header to
|
||||||
|
achieve some different behavior, but doing so it not recommended or
|
||||||
|
tested frequently.
|
||||||
|
|
||||||
|
XMLCALL - The calling convention to use for all calls across the
|
||||||
|
"library boundary." This will default to cdecl, and
|
||||||
|
try really hard to tell the compiler that's what we
|
||||||
|
want.
|
||||||
|
|
||||||
|
XMLIMPORT - Whatever magic is needed to note that a function is
|
||||||
|
to be imported from a dynamically loaded library
|
||||||
|
(.dll, .so, or .sl, depending on your platform).
|
||||||
|
|
||||||
|
The XMLCALL macro was added in Expat 1.95.7. The only one which is
|
||||||
|
expected to be directly useful in client code is XMLCALL.
|
||||||
|
|
||||||
|
Note that on at least some Unix versions, the Expat library must be
|
||||||
|
compiled with the cdecl calling convention as the default since
|
||||||
|
system headers may assume the cdecl convention.
|
||||||
|
*/
|
||||||
|
#ifndef XMLCALL
|
||||||
|
#if defined(_MSC_VER)
|
||||||
|
#define XMLCALL __cdecl
|
||||||
|
#elif defined(__GNUC__) && defined(__i386) && !defined(__INTEL_COMPILER)
|
||||||
|
#define XMLCALL __attribute__((cdecl))
|
||||||
|
#else
|
||||||
|
/* For any platform which uses this definition and supports more than
|
||||||
|
one calling convention, we need to extend this definition to
|
||||||
|
declare the convention used on that platform, if it's possible to
|
||||||
|
do so.
|
||||||
|
|
||||||
|
If this is the case for your platform, please file a bug report
|
||||||
|
with information on how to identify your platform via the C
|
||||||
|
pre-processor and how to specify the same calling convention as the
|
||||||
|
platform's malloc() implementation.
|
||||||
|
*/
|
||||||
|
#define XMLCALL
|
||||||
|
#endif
|
||||||
|
#endif /* not defined XMLCALL */
|
||||||
|
|
||||||
|
|
||||||
|
#if !defined(XML_STATIC) && !defined(XMLIMPORT)
|
||||||
|
#ifndef XML_BUILDING_EXPAT
|
||||||
|
/* using Expat from an application */
|
||||||
|
|
||||||
|
#ifdef XML_USE_MSC_EXTENSIONS
|
||||||
|
#define XMLIMPORT __declspec(dllimport)
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif
|
||||||
|
#endif /* not defined XML_STATIC */
|
||||||
|
|
||||||
|
|
||||||
|
/* If we didn't define it above, define it away: */
|
||||||
|
#ifndef XMLIMPORT
|
||||||
|
#define XMLIMPORT
|
||||||
|
#endif
|
||||||
|
|
||||||
|
|
||||||
|
#define XMLPARSEAPI(type) XMLIMPORT type XMLCALL
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XML_UNICODE_WCHAR_T
|
||||||
|
#define XML_UNICODE
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifdef XML_UNICODE /* Information is UTF-16 encoded. */
|
||||||
|
#ifdef XML_UNICODE_WCHAR_T
|
||||||
|
typedef wchar_t XML_Char;
|
||||||
|
typedef wchar_t XML_LChar;
|
||||||
|
#else
|
||||||
|
typedef unsigned short XML_Char;
|
||||||
|
typedef char XML_LChar;
|
||||||
|
#endif /* XML_UNICODE_WCHAR_T */
|
||||||
|
#else /* Information is UTF-8 encoded. */
|
||||||
|
typedef char XML_Char;
|
||||||
|
typedef char XML_LChar;
|
||||||
|
#endif /* XML_UNICODE */
|
||||||
|
|
||||||
|
#ifdef XML_LARGE_SIZE /* Use large integers for file/stream positions. */
|
||||||
|
#if defined(XML_USE_MSC_EXTENSIONS) && _MSC_VER < 1400
|
||||||
|
typedef __int64 XML_Index;
|
||||||
|
typedef unsigned __int64 XML_Size;
|
||||||
|
#else
|
||||||
|
typedef long long XML_Index;
|
||||||
|
typedef unsigned long long XML_Size;
|
||||||
|
#endif
|
||||||
|
#else
|
||||||
|
typedef long XML_Index;
|
||||||
|
typedef unsigned long XML_Size;
|
||||||
|
#endif /* XML_LARGE_SIZE */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* not Expat_External_INCLUDED */
|
37
contrib/sdk/sources/expat/lib/iasciitab.h
Normal file
37
contrib/sdk/sources/expat/lib/iasciitab.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Like asciitab.h, except that 0xD has code BT_S rather than BT_CR */
|
||||||
|
/* 0x00 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x04 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x08 */ BT_NONXML, BT_S, BT_LF, BT_NONXML,
|
||||||
|
/* 0x0C */ BT_NONXML, BT_S, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x10 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x14 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x18 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x1C */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0x20 */ BT_S, BT_EXCL, BT_QUOT, BT_NUM,
|
||||||
|
/* 0x24 */ BT_OTHER, BT_PERCNT, BT_AMP, BT_APOS,
|
||||||
|
/* 0x28 */ BT_LPAR, BT_RPAR, BT_AST, BT_PLUS,
|
||||||
|
/* 0x2C */ BT_COMMA, BT_MINUS, BT_NAME, BT_SOL,
|
||||||
|
/* 0x30 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
|
||||||
|
/* 0x34 */ BT_DIGIT, BT_DIGIT, BT_DIGIT, BT_DIGIT,
|
||||||
|
/* 0x38 */ BT_DIGIT, BT_DIGIT, BT_COLON, BT_SEMI,
|
||||||
|
/* 0x3C */ BT_LT, BT_EQUALS, BT_GT, BT_QUEST,
|
||||||
|
/* 0x40 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
|
||||||
|
/* 0x44 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
|
||||||
|
/* 0x48 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x4C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x50 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x54 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x58 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_LSQB,
|
||||||
|
/* 0x5C */ BT_OTHER, BT_RSQB, BT_OTHER, BT_NMSTRT,
|
||||||
|
/* 0x60 */ BT_OTHER, BT_HEX, BT_HEX, BT_HEX,
|
||||||
|
/* 0x64 */ BT_HEX, BT_HEX, BT_HEX, BT_NMSTRT,
|
||||||
|
/* 0x68 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x6C */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x70 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x74 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0x78 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0x7C */ BT_VERBAR, BT_OTHER, BT_OTHER, BT_OTHER,
|
73
contrib/sdk/sources/expat/lib/internal.h
Normal file
73
contrib/sdk/sources/expat/lib/internal.h
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
/* internal.h
|
||||||
|
|
||||||
|
Internal definitions used by Expat. This is not needed to compile
|
||||||
|
client code.
|
||||||
|
|
||||||
|
The following calling convention macros are defined for frequently
|
||||||
|
called functions:
|
||||||
|
|
||||||
|
FASTCALL - Used for those internal functions that have a simple
|
||||||
|
body and a low number of arguments and local variables.
|
||||||
|
|
||||||
|
PTRCALL - Used for functions called though function pointers.
|
||||||
|
|
||||||
|
PTRFASTCALL - Like PTRCALL, but for low number of arguments.
|
||||||
|
|
||||||
|
inline - Used for selected internal functions for which inlining
|
||||||
|
may improve performance on some platforms.
|
||||||
|
|
||||||
|
Note: Use of these macros is based on judgement, not hard rules,
|
||||||
|
and therefore subject to change.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#if defined(__GNUC__) && defined(__i386__) && !defined(__MINGW32__)
|
||||||
|
/* We'll use this version by default only where we know it helps.
|
||||||
|
|
||||||
|
regparm() generates warnings on Solaris boxes. See SF bug #692878.
|
||||||
|
|
||||||
|
Instability reported with egcs on a RedHat Linux 7.3.
|
||||||
|
Let's comment out:
|
||||||
|
#define FASTCALL __attribute__((stdcall, regparm(3)))
|
||||||
|
and let's try this:
|
||||||
|
*/
|
||||||
|
#define FASTCALL __attribute__((regparm(3)))
|
||||||
|
#define PTRFASTCALL __attribute__((regparm(3)))
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* Using __fastcall seems to have an unexpected negative effect under
|
||||||
|
MS VC++, especially for function pointers, so we won't use it for
|
||||||
|
now on that platform. It may be reconsidered for a future release
|
||||||
|
if it can be made more effective.
|
||||||
|
Likely reason: __fastcall on Windows is like stdcall, therefore
|
||||||
|
the compiler cannot perform stack optimizations for call clusters.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* Make sure all of these are defined if they aren't already. */
|
||||||
|
|
||||||
|
#ifndef FASTCALL
|
||||||
|
#define FASTCALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PTRCALL
|
||||||
|
#define PTRCALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef PTRFASTCALL
|
||||||
|
#define PTRFASTCALL
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#ifndef XML_MIN_SIZE
|
||||||
|
#if !defined(__cplusplus) && !defined(inline)
|
||||||
|
#ifdef __GNUC__
|
||||||
|
#define inline __inline
|
||||||
|
#endif /* __GNUC__ */
|
||||||
|
#endif
|
||||||
|
#endif /* XML_MIN_SIZE */
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
#define inline inline
|
||||||
|
#else
|
||||||
|
#ifndef inline
|
||||||
|
#define inline
|
||||||
|
#endif
|
||||||
|
#endif
|
36
contrib/sdk/sources/expat/lib/latin1tab.h
Normal file
36
contrib/sdk/sources/expat/lib/latin1tab.h
Normal file
@ -0,0 +1,36 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* 0x80 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x84 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x88 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x8C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x90 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x94 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x98 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0x9C */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xA0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xA4 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xA8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0xAC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xB0 */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xB4 */ BT_OTHER, BT_NMSTRT, BT_OTHER, BT_NAME,
|
||||||
|
/* 0xB8 */ BT_OTHER, BT_OTHER, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0xBC */ BT_OTHER, BT_OTHER, BT_OTHER, BT_OTHER,
|
||||||
|
/* 0xC0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xC4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xC8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xCC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xD0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xD4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0xD8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xDC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xE0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xE4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xE8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xEC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xF0 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xF4 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_OTHER,
|
||||||
|
/* 0xF8 */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
||||||
|
/* 0xFC */ BT_NMSTRT, BT_NMSTRT, BT_NMSTRT, BT_NMSTRT,
|
73
contrib/sdk/sources/expat/lib/libexpat.def
Normal file
73
contrib/sdk/sources/expat/lib/libexpat.def
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
; DEF file for MS VC++
|
||||||
|
|
||||||
|
LIBRARY
|
||||||
|
EXPORTS
|
||||||
|
XML_DefaultCurrent @1
|
||||||
|
XML_ErrorString @2
|
||||||
|
XML_ExpatVersion @3
|
||||||
|
XML_ExpatVersionInfo @4
|
||||||
|
XML_ExternalEntityParserCreate @5
|
||||||
|
XML_GetBase @6
|
||||||
|
XML_GetBuffer @7
|
||||||
|
XML_GetCurrentByteCount @8
|
||||||
|
XML_GetCurrentByteIndex @9
|
||||||
|
XML_GetCurrentColumnNumber @10
|
||||||
|
XML_GetCurrentLineNumber @11
|
||||||
|
XML_GetErrorCode @12
|
||||||
|
XML_GetIdAttributeIndex @13
|
||||||
|
XML_GetInputContext @14
|
||||||
|
XML_GetSpecifiedAttributeCount @15
|
||||||
|
XML_Parse @16
|
||||||
|
XML_ParseBuffer @17
|
||||||
|
XML_ParserCreate @18
|
||||||
|
XML_ParserCreateNS @19
|
||||||
|
XML_ParserCreate_MM @20
|
||||||
|
XML_ParserFree @21
|
||||||
|
XML_SetAttlistDeclHandler @22
|
||||||
|
XML_SetBase @23
|
||||||
|
XML_SetCdataSectionHandler @24
|
||||||
|
XML_SetCharacterDataHandler @25
|
||||||
|
XML_SetCommentHandler @26
|
||||||
|
XML_SetDefaultHandler @27
|
||||||
|
XML_SetDefaultHandlerExpand @28
|
||||||
|
XML_SetDoctypeDeclHandler @29
|
||||||
|
XML_SetElementDeclHandler @30
|
||||||
|
XML_SetElementHandler @31
|
||||||
|
XML_SetEncoding @32
|
||||||
|
XML_SetEndCdataSectionHandler @33
|
||||||
|
XML_SetEndDoctypeDeclHandler @34
|
||||||
|
XML_SetEndElementHandler @35
|
||||||
|
XML_SetEndNamespaceDeclHandler @36
|
||||||
|
XML_SetEntityDeclHandler @37
|
||||||
|
XML_SetExternalEntityRefHandler @38
|
||||||
|
XML_SetExternalEntityRefHandlerArg @39
|
||||||
|
XML_SetNamespaceDeclHandler @40
|
||||||
|
XML_SetNotStandaloneHandler @41
|
||||||
|
XML_SetNotationDeclHandler @42
|
||||||
|
XML_SetParamEntityParsing @43
|
||||||
|
XML_SetProcessingInstructionHandler @44
|
||||||
|
XML_SetReturnNSTriplet @45
|
||||||
|
XML_SetStartCdataSectionHandler @46
|
||||||
|
XML_SetStartDoctypeDeclHandler @47
|
||||||
|
XML_SetStartElementHandler @48
|
||||||
|
XML_SetStartNamespaceDeclHandler @49
|
||||||
|
XML_SetUnknownEncodingHandler @50
|
||||||
|
XML_SetUnparsedEntityDeclHandler @51
|
||||||
|
XML_SetUserData @52
|
||||||
|
XML_SetXmlDeclHandler @53
|
||||||
|
XML_UseParserAsHandlerArg @54
|
||||||
|
; added with version 1.95.3
|
||||||
|
XML_ParserReset @55
|
||||||
|
XML_SetSkippedEntityHandler @56
|
||||||
|
; added with version 1.95.5
|
||||||
|
XML_GetFeatureList @57
|
||||||
|
XML_UseForeignDTD @58
|
||||||
|
; added with version 1.95.6
|
||||||
|
XML_FreeContentModel @59
|
||||||
|
XML_MemMalloc @60
|
||||||
|
XML_MemRealloc @61
|
||||||
|
XML_MemFree @62
|
||||||
|
; added with version 1.95.8
|
||||||
|
XML_StopParser @63
|
||||||
|
XML_ResumeParser @64
|
||||||
|
XML_GetParsingStatus @65
|
73
contrib/sdk/sources/expat/lib/libexpatw.def
Normal file
73
contrib/sdk/sources/expat/lib/libexpatw.def
Normal file
@ -0,0 +1,73 @@
|
|||||||
|
; DEF file for MS VC++
|
||||||
|
|
||||||
|
LIBRARY
|
||||||
|
EXPORTS
|
||||||
|
XML_DefaultCurrent @1
|
||||||
|
XML_ErrorString @2
|
||||||
|
XML_ExpatVersion @3
|
||||||
|
XML_ExpatVersionInfo @4
|
||||||
|
XML_ExternalEntityParserCreate @5
|
||||||
|
XML_GetBase @6
|
||||||
|
XML_GetBuffer @7
|
||||||
|
XML_GetCurrentByteCount @8
|
||||||
|
XML_GetCurrentByteIndex @9
|
||||||
|
XML_GetCurrentColumnNumber @10
|
||||||
|
XML_GetCurrentLineNumber @11
|
||||||
|
XML_GetErrorCode @12
|
||||||
|
XML_GetIdAttributeIndex @13
|
||||||
|
XML_GetInputContext @14
|
||||||
|
XML_GetSpecifiedAttributeCount @15
|
||||||
|
XML_Parse @16
|
||||||
|
XML_ParseBuffer @17
|
||||||
|
XML_ParserCreate @18
|
||||||
|
XML_ParserCreateNS @19
|
||||||
|
XML_ParserCreate_MM @20
|
||||||
|
XML_ParserFree @21
|
||||||
|
XML_SetAttlistDeclHandler @22
|
||||||
|
XML_SetBase @23
|
||||||
|
XML_SetCdataSectionHandler @24
|
||||||
|
XML_SetCharacterDataHandler @25
|
||||||
|
XML_SetCommentHandler @26
|
||||||
|
XML_SetDefaultHandler @27
|
||||||
|
XML_SetDefaultHandlerExpand @28
|
||||||
|
XML_SetDoctypeDeclHandler @29
|
||||||
|
XML_SetElementDeclHandler @30
|
||||||
|
XML_SetElementHandler @31
|
||||||
|
XML_SetEncoding @32
|
||||||
|
XML_SetEndCdataSectionHandler @33
|
||||||
|
XML_SetEndDoctypeDeclHandler @34
|
||||||
|
XML_SetEndElementHandler @35
|
||||||
|
XML_SetEndNamespaceDeclHandler @36
|
||||||
|
XML_SetEntityDeclHandler @37
|
||||||
|
XML_SetExternalEntityRefHandler @38
|
||||||
|
XML_SetExternalEntityRefHandlerArg @39
|
||||||
|
XML_SetNamespaceDeclHandler @40
|
||||||
|
XML_SetNotStandaloneHandler @41
|
||||||
|
XML_SetNotationDeclHandler @42
|
||||||
|
XML_SetParamEntityParsing @43
|
||||||
|
XML_SetProcessingInstructionHandler @44
|
||||||
|
XML_SetReturnNSTriplet @45
|
||||||
|
XML_SetStartCdataSectionHandler @46
|
||||||
|
XML_SetStartDoctypeDeclHandler @47
|
||||||
|
XML_SetStartElementHandler @48
|
||||||
|
XML_SetStartNamespaceDeclHandler @49
|
||||||
|
XML_SetUnknownEncodingHandler @50
|
||||||
|
XML_SetUnparsedEntityDeclHandler @51
|
||||||
|
XML_SetUserData @52
|
||||||
|
XML_SetXmlDeclHandler @53
|
||||||
|
XML_UseParserAsHandlerArg @54
|
||||||
|
; added with version 1.95.3
|
||||||
|
XML_ParserReset @55
|
||||||
|
XML_SetSkippedEntityHandler @56
|
||||||
|
; added with version 1.95.5
|
||||||
|
XML_GetFeatureList @57
|
||||||
|
XML_UseForeignDTD @58
|
||||||
|
; added with version 1.95.6
|
||||||
|
XML_FreeContentModel @59
|
||||||
|
XML_MemMalloc @60
|
||||||
|
XML_MemRealloc @61
|
||||||
|
XML_MemFree @62
|
||||||
|
; added with version 1.95.8
|
||||||
|
XML_StopParser @63
|
||||||
|
XML_ResumeParser @64
|
||||||
|
XML_GetParsingStatus @65
|
53
contrib/sdk/sources/expat/lib/macconfig.h
Normal file
53
contrib/sdk/sources/expat/lib/macconfig.h
Normal file
@ -0,0 +1,53 @@
|
|||||||
|
/*================================================================
|
||||||
|
** Copyright 2000, Clark Cooper
|
||||||
|
** All rights reserved.
|
||||||
|
**
|
||||||
|
** This is free software. You are permitted to copy, distribute, or modify
|
||||||
|
** it under the terms of the MIT/X license (contained in the COPYING file
|
||||||
|
** with this distribution.)
|
||||||
|
**
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef MACCONFIG_H
|
||||||
|
#define MACCONFIG_H
|
||||||
|
|
||||||
|
|
||||||
|
/* 1234 = LIL_ENDIAN, 4321 = BIGENDIAN */
|
||||||
|
#define BYTEORDER 4321
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `bcopy' function. */
|
||||||
|
#undef HAVE_BCOPY
|
||||||
|
|
||||||
|
/* Define to 1 if you have the `memmove' function. */
|
||||||
|
#define HAVE_MEMMOVE
|
||||||
|
|
||||||
|
/* Define to 1 if you have a working `mmap' system call. */
|
||||||
|
#undef HAVE_MMAP
|
||||||
|
|
||||||
|
/* Define to 1 if you have the <unistd.h> header file. */
|
||||||
|
#undef HAVE_UNISTD_H
|
||||||
|
|
||||||
|
/* whether byteorder is bigendian */
|
||||||
|
#define WORDS_BIGENDIAN
|
||||||
|
|
||||||
|
/* Define to specify how much context to retain around the current parse
|
||||||
|
point. */
|
||||||
|
#undef XML_CONTEXT_BYTES
|
||||||
|
|
||||||
|
/* Define to make parameter entity parsing functionality available. */
|
||||||
|
#define XML_DTD
|
||||||
|
|
||||||
|
/* Define to make XML Namespaces functionality available. */
|
||||||
|
#define XML_NS
|
||||||
|
|
||||||
|
/* Define to empty if `const' does not conform to ANSI C. */
|
||||||
|
#undef const
|
||||||
|
|
||||||
|
/* Define to `long' if <sys/types.h> does not define. */
|
||||||
|
#define off_t long
|
||||||
|
|
||||||
|
/* Define to `unsigned' if <sys/types.h> does not define. */
|
||||||
|
#undef size_t
|
||||||
|
|
||||||
|
|
||||||
|
#endif /* ifndef MACCONFIG_H */
|
150
contrib/sdk/sources/expat/lib/nametab.h
Normal file
150
contrib/sdk/sources/expat/lib/nametab.h
Normal file
@ -0,0 +1,150 @@
|
|||||||
|
static const unsigned namingBitmap[] = {
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||||
|
0x00000000, 0x04000000, 0x87FFFFFE, 0x07FFFFFE,
|
||||||
|
0x00000000, 0x00000000, 0xFF7FFFFF, 0xFF7FFFFF,
|
||||||
|
0xFFFFFFFF, 0x7FF3FFFF, 0xFFFFFDFE, 0x7FFFFFFF,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFE00F, 0xFC31FFFF,
|
||||||
|
0x00FFFFFF, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
|
||||||
|
0xFFFFFFFF, 0xF80001FF, 0x00000003, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFD740, 0xFFFFFFFB, 0x547F7FFF, 0x000FFFFD,
|
||||||
|
0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF,
|
||||||
|
0xFFFF0003, 0xFFFFFFFF, 0xFFFF199F, 0x033FCFFF,
|
||||||
|
0x00000000, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
|
||||||
|
0x0000007F, 0x00000000, 0xFFFF0000, 0x000707FF,
|
||||||
|
0x00000000, 0x07FFFFFE, 0x000007FE, 0xFFFE0000,
|
||||||
|
0xFFFFFFFF, 0x7CFFFFFF, 0x002F7FFF, 0x00000060,
|
||||||
|
0xFFFFFFE0, 0x23FFFFFF, 0xFF000000, 0x00000003,
|
||||||
|
0xFFF99FE0, 0x03C5FDFF, 0xB0000000, 0x00030003,
|
||||||
|
0xFFF987E0, 0x036DFDFF, 0x5E000000, 0x001C0000,
|
||||||
|
0xFFFBAFE0, 0x23EDFDFF, 0x00000000, 0x00000001,
|
||||||
|
0xFFF99FE0, 0x23CDFDFF, 0xB0000000, 0x00000003,
|
||||||
|
0xD63DC7E0, 0x03BFC718, 0x00000000, 0x00000000,
|
||||||
|
0xFFFDDFE0, 0x03EFFDFF, 0x00000000, 0x00000003,
|
||||||
|
0xFFFDDFE0, 0x03EFFDFF, 0x40000000, 0x00000003,
|
||||||
|
0xFFFDDFE0, 0x03FFFDFF, 0x00000000, 0x00000003,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFFFFE, 0x000D7FFF, 0x0000003F, 0x00000000,
|
||||||
|
0xFEF02596, 0x200D6CAE, 0x0000001F, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0xFFFFFEFF, 0x000003FF,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0xFFFFFFFF, 0xFFFF003F, 0x007FFFFF,
|
||||||
|
0x0007DAED, 0x50000000, 0x82315001, 0x002C62AB,
|
||||||
|
0x40000000, 0xF580C900, 0x00000007, 0x02010800,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||||
|
0x0FFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0x03FFFFFF,
|
||||||
|
0x3F3FFFFF, 0xFFFFFFFF, 0xAAFF3F3F, 0x3FFFFFFF,
|
||||||
|
0xFFFFFFFF, 0x5FDFFFFF, 0x0FCF1FDC, 0x1FDC1FFF,
|
||||||
|
0x00000000, 0x00004C40, 0x00000000, 0x00000000,
|
||||||
|
0x00000007, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000080, 0x000003FE, 0xFFFFFFFE, 0xFFFFFFFF,
|
||||||
|
0x001FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x07FFFFFF,
|
||||||
|
0xFFFFFFE0, 0x00001FFF, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||||
|
0xFFFFFFFF, 0x0000003F, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF, 0xFFFFFFFF,
|
||||||
|
0xFFFFFFFF, 0x0000000F, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x07FF6000, 0x87FFFFFE, 0x07FFFFFE,
|
||||||
|
0x00000000, 0x00800000, 0xFF7FFFFF, 0xFF7FFFFF,
|
||||||
|
0x00FFFFFF, 0x00000000, 0xFFFF0000, 0xFFFFFFFF,
|
||||||
|
0xFFFFFFFF, 0xF80001FF, 0x00030003, 0x00000000,
|
||||||
|
0xFFFFFFFF, 0xFFFFFFFF, 0x0000003F, 0x00000003,
|
||||||
|
0xFFFFD7C0, 0xFFFFFFFB, 0x547F7FFF, 0x000FFFFD,
|
||||||
|
0xFFFFDFFE, 0xFFFFFFFF, 0xDFFEFFFF, 0xFFFFFFFF,
|
||||||
|
0xFFFF007B, 0xFFFFFFFF, 0xFFFF199F, 0x033FCFFF,
|
||||||
|
0x00000000, 0xFFFE0000, 0x027FFFFF, 0xFFFFFFFE,
|
||||||
|
0xFFFE007F, 0xBBFFFFFB, 0xFFFF0016, 0x000707FF,
|
||||||
|
0x00000000, 0x07FFFFFE, 0x0007FFFF, 0xFFFF03FF,
|
||||||
|
0xFFFFFFFF, 0x7CFFFFFF, 0xFFEF7FFF, 0x03FF3DFF,
|
||||||
|
0xFFFFFFEE, 0xF3FFFFFF, 0xFF1E3FFF, 0x0000FFCF,
|
||||||
|
0xFFF99FEE, 0xD3C5FDFF, 0xB080399F, 0x0003FFCF,
|
||||||
|
0xFFF987E4, 0xD36DFDFF, 0x5E003987, 0x001FFFC0,
|
||||||
|
0xFFFBAFEE, 0xF3EDFDFF, 0x00003BBF, 0x0000FFC1,
|
||||||
|
0xFFF99FEE, 0xF3CDFDFF, 0xB0C0398F, 0x0000FFC3,
|
||||||
|
0xD63DC7EC, 0xC3BFC718, 0x00803DC7, 0x0000FF80,
|
||||||
|
0xFFFDDFEE, 0xC3EFFDFF, 0x00603DDF, 0x0000FFC3,
|
||||||
|
0xFFFDDFEC, 0xC3EFFDFF, 0x40603DDF, 0x0000FFC3,
|
||||||
|
0xFFFDDFEC, 0xC3FFFDFF, 0x00803DCF, 0x0000FFC3,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0xFFFFFFFE, 0x07FF7FFF, 0x03FF7FFF, 0x00000000,
|
||||||
|
0xFEF02596, 0x3BFF6CAE, 0x03FF3F5F, 0x00000000,
|
||||||
|
0x03000000, 0xC2A003FF, 0xFFFFFEFF, 0xFFFE03FF,
|
||||||
|
0xFEBF0FDF, 0x02FE3FFF, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x00000000, 0x00000000,
|
||||||
|
0x00000000, 0x00000000, 0x1FFF0000, 0x00000002,
|
||||||
|
0x000000A0, 0x003EFFFE, 0xFFFFFFFE, 0xFFFFFFFF,
|
||||||
|
0x661FFFFF, 0xFFFFFFFE, 0xFFFFFFFF, 0x77FFFFFF,
|
||||||
|
};
|
||||||
|
static const unsigned char nmstrtPages[] = {
|
||||||
|
0x02, 0x03, 0x04, 0x05, 0x06, 0x07, 0x08, 0x00,
|
||||||
|
0x00, 0x09, 0x0A, 0x0B, 0x0C, 0x0D, 0x0E, 0x0F,
|
||||||
|
0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13,
|
||||||
|
0x00, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x15, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x17,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
||||||
|
static const unsigned char namePages[] = {
|
||||||
|
0x19, 0x03, 0x1A, 0x1B, 0x1C, 0x1D, 0x1E, 0x00,
|
||||||
|
0x00, 0x1F, 0x20, 0x21, 0x22, 0x23, 0x24, 0x25,
|
||||||
|
0x10, 0x11, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12, 0x13,
|
||||||
|
0x26, 0x14, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x27, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x17,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01,
|
||||||
|
0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x01, 0x18,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||||
|
};
|
37
contrib/sdk/sources/expat/lib/utf8tab.h
Normal file
37
contrib/sdk/sources/expat/lib/utf8tab.h
Normal file
@ -0,0 +1,37 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
/* 0x80 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x84 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x88 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x8C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x90 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x94 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x98 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0x9C */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xA0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xA4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xA8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xAC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xB0 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xB4 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xB8 */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xBC */ BT_TRAIL, BT_TRAIL, BT_TRAIL, BT_TRAIL,
|
||||||
|
/* 0xC0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xC4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xC8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xCC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xD0 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xD4 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xD8 */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xDC */ BT_LEAD2, BT_LEAD2, BT_LEAD2, BT_LEAD2,
|
||||||
|
/* 0xE0 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
|
||||||
|
/* 0xE4 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
|
||||||
|
/* 0xE8 */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
|
||||||
|
/* 0xEC */ BT_LEAD3, BT_LEAD3, BT_LEAD3, BT_LEAD3,
|
||||||
|
/* 0xF0 */ BT_LEAD4, BT_LEAD4, BT_LEAD4, BT_LEAD4,
|
||||||
|
/* 0xF4 */ BT_LEAD4, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0xF8 */ BT_NONXML, BT_NONXML, BT_NONXML, BT_NONXML,
|
||||||
|
/* 0xFC */ BT_NONXML, BT_NONXML, BT_MALFORM, BT_MALFORM,
|
30
contrib/sdk/sources/expat/lib/winconfig.h
Normal file
30
contrib/sdk/sources/expat/lib/winconfig.h
Normal file
@ -0,0 +1,30 @@
|
|||||||
|
/*================================================================
|
||||||
|
** Copyright 2000, Clark Cooper
|
||||||
|
** All rights reserved.
|
||||||
|
**
|
||||||
|
** This is free software. You are permitted to copy, distribute, or modify
|
||||||
|
** it under the terms of the MIT/X license (contained in the COPYING file
|
||||||
|
** with this distribution.)
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef WINCONFIG_H
|
||||||
|
#define WINCONFIG_H
|
||||||
|
|
||||||
|
#define WIN32_LEAN_AND_MEAN
|
||||||
|
#include <windows.h>
|
||||||
|
#undef WIN32_LEAN_AND_MEAN
|
||||||
|
|
||||||
|
#include <memory.h>
|
||||||
|
#include <string.h>
|
||||||
|
|
||||||
|
#define XML_NS 1
|
||||||
|
#define XML_DTD 1
|
||||||
|
#define XML_CONTEXT_BYTES 1024
|
||||||
|
|
||||||
|
/* we will assume all Windows platforms are little endian */
|
||||||
|
#define BYTEORDER 1234
|
||||||
|
|
||||||
|
/* Windows has memmove() available. */
|
||||||
|
#define HAVE_MEMMOVE
|
||||||
|
|
||||||
|
#endif /* ndef WINCONFIG_H */
|
6403
contrib/sdk/sources/expat/lib/xmlparse.c
Normal file
6403
contrib/sdk/sources/expat/lib/xmlparse.c
Normal file
File diff suppressed because it is too large
Load Diff
1336
contrib/sdk/sources/expat/lib/xmlrole.c
Normal file
1336
contrib/sdk/sources/expat/lib/xmlrole.c
Normal file
File diff suppressed because it is too large
Load Diff
114
contrib/sdk/sources/expat/lib/xmlrole.h
Normal file
114
contrib/sdk/sources/expat/lib/xmlrole.h
Normal file
@ -0,0 +1,114 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef XmlRole_INCLUDED
|
||||||
|
#define XmlRole_INCLUDED 1
|
||||||
|
|
||||||
|
#ifdef __VMS
|
||||||
|
/* 0 1 2 3 0 1 2 3
|
||||||
|
1234567890123456789012345678901 1234567890123456789012345678901 */
|
||||||
|
#define XmlPrologStateInitExternalEntity XmlPrologStateInitExternalEnt
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include "xmltok.h"
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
enum {
|
||||||
|
XML_ROLE_ERROR = -1,
|
||||||
|
XML_ROLE_NONE = 0,
|
||||||
|
XML_ROLE_XML_DECL,
|
||||||
|
XML_ROLE_INSTANCE_START,
|
||||||
|
XML_ROLE_DOCTYPE_NONE,
|
||||||
|
XML_ROLE_DOCTYPE_NAME,
|
||||||
|
XML_ROLE_DOCTYPE_SYSTEM_ID,
|
||||||
|
XML_ROLE_DOCTYPE_PUBLIC_ID,
|
||||||
|
XML_ROLE_DOCTYPE_INTERNAL_SUBSET,
|
||||||
|
XML_ROLE_DOCTYPE_CLOSE,
|
||||||
|
XML_ROLE_GENERAL_ENTITY_NAME,
|
||||||
|
XML_ROLE_PARAM_ENTITY_NAME,
|
||||||
|
XML_ROLE_ENTITY_NONE,
|
||||||
|
XML_ROLE_ENTITY_VALUE,
|
||||||
|
XML_ROLE_ENTITY_SYSTEM_ID,
|
||||||
|
XML_ROLE_ENTITY_PUBLIC_ID,
|
||||||
|
XML_ROLE_ENTITY_COMPLETE,
|
||||||
|
XML_ROLE_ENTITY_NOTATION_NAME,
|
||||||
|
XML_ROLE_NOTATION_NONE,
|
||||||
|
XML_ROLE_NOTATION_NAME,
|
||||||
|
XML_ROLE_NOTATION_SYSTEM_ID,
|
||||||
|
XML_ROLE_NOTATION_NO_SYSTEM_ID,
|
||||||
|
XML_ROLE_NOTATION_PUBLIC_ID,
|
||||||
|
XML_ROLE_ATTRIBUTE_NAME,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_CDATA,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_ID,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_IDREF,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_IDREFS,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_ENTITY,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_ENTITIES,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_NMTOKEN,
|
||||||
|
XML_ROLE_ATTRIBUTE_TYPE_NMTOKENS,
|
||||||
|
XML_ROLE_ATTRIBUTE_ENUM_VALUE,
|
||||||
|
XML_ROLE_ATTRIBUTE_NOTATION_VALUE,
|
||||||
|
XML_ROLE_ATTLIST_NONE,
|
||||||
|
XML_ROLE_ATTLIST_ELEMENT_NAME,
|
||||||
|
XML_ROLE_IMPLIED_ATTRIBUTE_VALUE,
|
||||||
|
XML_ROLE_REQUIRED_ATTRIBUTE_VALUE,
|
||||||
|
XML_ROLE_DEFAULT_ATTRIBUTE_VALUE,
|
||||||
|
XML_ROLE_FIXED_ATTRIBUTE_VALUE,
|
||||||
|
XML_ROLE_ELEMENT_NONE,
|
||||||
|
XML_ROLE_ELEMENT_NAME,
|
||||||
|
XML_ROLE_CONTENT_ANY,
|
||||||
|
XML_ROLE_CONTENT_EMPTY,
|
||||||
|
XML_ROLE_CONTENT_PCDATA,
|
||||||
|
XML_ROLE_GROUP_OPEN,
|
||||||
|
XML_ROLE_GROUP_CLOSE,
|
||||||
|
XML_ROLE_GROUP_CLOSE_REP,
|
||||||
|
XML_ROLE_GROUP_CLOSE_OPT,
|
||||||
|
XML_ROLE_GROUP_CLOSE_PLUS,
|
||||||
|
XML_ROLE_GROUP_CHOICE,
|
||||||
|
XML_ROLE_GROUP_SEQUENCE,
|
||||||
|
XML_ROLE_CONTENT_ELEMENT,
|
||||||
|
XML_ROLE_CONTENT_ELEMENT_REP,
|
||||||
|
XML_ROLE_CONTENT_ELEMENT_OPT,
|
||||||
|
XML_ROLE_CONTENT_ELEMENT_PLUS,
|
||||||
|
XML_ROLE_PI,
|
||||||
|
XML_ROLE_COMMENT,
|
||||||
|
#ifdef XML_DTD
|
||||||
|
XML_ROLE_TEXT_DECL,
|
||||||
|
XML_ROLE_IGNORE_SECT,
|
||||||
|
XML_ROLE_INNER_PARAM_ENTITY_REF,
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
XML_ROLE_PARAM_ENTITY_REF
|
||||||
|
};
|
||||||
|
|
||||||
|
typedef struct prolog_state {
|
||||||
|
int (PTRCALL *handler) (struct prolog_state *state,
|
||||||
|
int tok,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
const ENCODING *enc);
|
||||||
|
unsigned level;
|
||||||
|
int role_none;
|
||||||
|
#ifdef XML_DTD
|
||||||
|
unsigned includeLevel;
|
||||||
|
int documentEntity;
|
||||||
|
int inEntityValue;
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
} PROLOG_STATE;
|
||||||
|
|
||||||
|
void XmlPrologStateInit(PROLOG_STATE *);
|
||||||
|
#ifdef XML_DTD
|
||||||
|
void XmlPrologStateInitExternalEntity(PROLOG_STATE *);
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
|
||||||
|
#define XmlTokenRole(state, tok, ptr, end, enc) \
|
||||||
|
(((state)->handler)(state, tok, ptr, end, enc))
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* not XmlRole_INCLUDED */
|
1651
contrib/sdk/sources/expat/lib/xmltok.c
Normal file
1651
contrib/sdk/sources/expat/lib/xmltok.c
Normal file
File diff suppressed because it is too large
Load Diff
316
contrib/sdk/sources/expat/lib/xmltok.h
Normal file
316
contrib/sdk/sources/expat/lib/xmltok.h
Normal file
@ -0,0 +1,316 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
#ifndef XmlTok_INCLUDED
|
||||||
|
#define XmlTok_INCLUDED 1
|
||||||
|
|
||||||
|
#ifdef __cplusplus
|
||||||
|
extern "C" {
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/* The following token may be returned by XmlContentTok */
|
||||||
|
#define XML_TOK_TRAILING_RSQB -5 /* ] or ]] at the end of the scan; might be
|
||||||
|
start of illegal ]]> sequence */
|
||||||
|
/* The following tokens may be returned by both XmlPrologTok and
|
||||||
|
XmlContentTok.
|
||||||
|
*/
|
||||||
|
#define XML_TOK_NONE -4 /* The string to be scanned is empty */
|
||||||
|
#define XML_TOK_TRAILING_CR -3 /* A CR at the end of the scan;
|
||||||
|
might be part of CRLF sequence */
|
||||||
|
#define XML_TOK_PARTIAL_CHAR -2 /* only part of a multibyte sequence */
|
||||||
|
#define XML_TOK_PARTIAL -1 /* only part of a token */
|
||||||
|
#define XML_TOK_INVALID 0
|
||||||
|
|
||||||
|
/* The following tokens are returned by XmlContentTok; some are also
|
||||||
|
returned by XmlAttributeValueTok, XmlEntityTok, XmlCdataSectionTok.
|
||||||
|
*/
|
||||||
|
#define XML_TOK_START_TAG_WITH_ATTS 1
|
||||||
|
#define XML_TOK_START_TAG_NO_ATTS 2
|
||||||
|
#define XML_TOK_EMPTY_ELEMENT_WITH_ATTS 3 /* empty element tag <e/> */
|
||||||
|
#define XML_TOK_EMPTY_ELEMENT_NO_ATTS 4
|
||||||
|
#define XML_TOK_END_TAG 5
|
||||||
|
#define XML_TOK_DATA_CHARS 6
|
||||||
|
#define XML_TOK_DATA_NEWLINE 7
|
||||||
|
#define XML_TOK_CDATA_SECT_OPEN 8
|
||||||
|
#define XML_TOK_ENTITY_REF 9
|
||||||
|
#define XML_TOK_CHAR_REF 10 /* numeric character reference */
|
||||||
|
|
||||||
|
/* The following tokens may be returned by both XmlPrologTok and
|
||||||
|
XmlContentTok.
|
||||||
|
*/
|
||||||
|
#define XML_TOK_PI 11 /* processing instruction */
|
||||||
|
#define XML_TOK_XML_DECL 12 /* XML decl or text decl */
|
||||||
|
#define XML_TOK_COMMENT 13
|
||||||
|
#define XML_TOK_BOM 14 /* Byte order mark */
|
||||||
|
|
||||||
|
/* The following tokens are returned only by XmlPrologTok */
|
||||||
|
#define XML_TOK_PROLOG_S 15
|
||||||
|
#define XML_TOK_DECL_OPEN 16 /* <!foo */
|
||||||
|
#define XML_TOK_DECL_CLOSE 17 /* > */
|
||||||
|
#define XML_TOK_NAME 18
|
||||||
|
#define XML_TOK_NMTOKEN 19
|
||||||
|
#define XML_TOK_POUND_NAME 20 /* #name */
|
||||||
|
#define XML_TOK_OR 21 /* | */
|
||||||
|
#define XML_TOK_PERCENT 22
|
||||||
|
#define XML_TOK_OPEN_PAREN 23
|
||||||
|
#define XML_TOK_CLOSE_PAREN 24
|
||||||
|
#define XML_TOK_OPEN_BRACKET 25
|
||||||
|
#define XML_TOK_CLOSE_BRACKET 26
|
||||||
|
#define XML_TOK_LITERAL 27
|
||||||
|
#define XML_TOK_PARAM_ENTITY_REF 28
|
||||||
|
#define XML_TOK_INSTANCE_START 29
|
||||||
|
|
||||||
|
/* The following occur only in element type declarations */
|
||||||
|
#define XML_TOK_NAME_QUESTION 30 /* name? */
|
||||||
|
#define XML_TOK_NAME_ASTERISK 31 /* name* */
|
||||||
|
#define XML_TOK_NAME_PLUS 32 /* name+ */
|
||||||
|
#define XML_TOK_COND_SECT_OPEN 33 /* <![ */
|
||||||
|
#define XML_TOK_COND_SECT_CLOSE 34 /* ]]> */
|
||||||
|
#define XML_TOK_CLOSE_PAREN_QUESTION 35 /* )? */
|
||||||
|
#define XML_TOK_CLOSE_PAREN_ASTERISK 36 /* )* */
|
||||||
|
#define XML_TOK_CLOSE_PAREN_PLUS 37 /* )+ */
|
||||||
|
#define XML_TOK_COMMA 38
|
||||||
|
|
||||||
|
/* The following token is returned only by XmlAttributeValueTok */
|
||||||
|
#define XML_TOK_ATTRIBUTE_VALUE_S 39
|
||||||
|
|
||||||
|
/* The following token is returned only by XmlCdataSectionTok */
|
||||||
|
#define XML_TOK_CDATA_SECT_CLOSE 40
|
||||||
|
|
||||||
|
/* With namespace processing this is returned by XmlPrologTok for a
|
||||||
|
name with a colon.
|
||||||
|
*/
|
||||||
|
#define XML_TOK_PREFIXED_NAME 41
|
||||||
|
|
||||||
|
#ifdef XML_DTD
|
||||||
|
#define XML_TOK_IGNORE_SECT 42
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
|
||||||
|
#ifdef XML_DTD
|
||||||
|
#define XML_N_STATES 4
|
||||||
|
#else /* not XML_DTD */
|
||||||
|
#define XML_N_STATES 3
|
||||||
|
#endif /* not XML_DTD */
|
||||||
|
|
||||||
|
#define XML_PROLOG_STATE 0
|
||||||
|
#define XML_CONTENT_STATE 1
|
||||||
|
#define XML_CDATA_SECTION_STATE 2
|
||||||
|
#ifdef XML_DTD
|
||||||
|
#define XML_IGNORE_SECTION_STATE 3
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
|
||||||
|
#define XML_N_LITERAL_TYPES 2
|
||||||
|
#define XML_ATTRIBUTE_VALUE_LITERAL 0
|
||||||
|
#define XML_ENTITY_VALUE_LITERAL 1
|
||||||
|
|
||||||
|
/* The size of the buffer passed to XmlUtf8Encode must be at least this. */
|
||||||
|
#define XML_UTF8_ENCODE_MAX 4
|
||||||
|
/* The size of the buffer passed to XmlUtf16Encode must be at least this. */
|
||||||
|
#define XML_UTF16_ENCODE_MAX 2
|
||||||
|
|
||||||
|
typedef struct position {
|
||||||
|
/* first line and first column are 0 not 1 */
|
||||||
|
XML_Size lineNumber;
|
||||||
|
XML_Size columnNumber;
|
||||||
|
} POSITION;
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
const char *name;
|
||||||
|
const char *valuePtr;
|
||||||
|
const char *valueEnd;
|
||||||
|
char normalized;
|
||||||
|
} ATTRIBUTE;
|
||||||
|
|
||||||
|
struct encoding;
|
||||||
|
typedef struct encoding ENCODING;
|
||||||
|
|
||||||
|
typedef int (PTRCALL *SCANNER)(const ENCODING *,
|
||||||
|
const char *,
|
||||||
|
const char *,
|
||||||
|
const char **);
|
||||||
|
|
||||||
|
struct encoding {
|
||||||
|
SCANNER scanners[XML_N_STATES];
|
||||||
|
SCANNER literalScanners[XML_N_LITERAL_TYPES];
|
||||||
|
int (PTRCALL *sameName)(const ENCODING *,
|
||||||
|
const char *,
|
||||||
|
const char *);
|
||||||
|
int (PTRCALL *nameMatchesAscii)(const ENCODING *,
|
||||||
|
const char *,
|
||||||
|
const char *,
|
||||||
|
const char *);
|
||||||
|
int (PTRFASTCALL *nameLength)(const ENCODING *, const char *);
|
||||||
|
const char *(PTRFASTCALL *skipS)(const ENCODING *, const char *);
|
||||||
|
int (PTRCALL *getAtts)(const ENCODING *enc,
|
||||||
|
const char *ptr,
|
||||||
|
int attsMax,
|
||||||
|
ATTRIBUTE *atts);
|
||||||
|
int (PTRFASTCALL *charRefNumber)(const ENCODING *enc, const char *ptr);
|
||||||
|
int (PTRCALL *predefinedEntityName)(const ENCODING *,
|
||||||
|
const char *,
|
||||||
|
const char *);
|
||||||
|
void (PTRCALL *updatePosition)(const ENCODING *,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
POSITION *);
|
||||||
|
int (PTRCALL *isPublicId)(const ENCODING *enc,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
const char **badPtr);
|
||||||
|
void (PTRCALL *utf8Convert)(const ENCODING *enc,
|
||||||
|
const char **fromP,
|
||||||
|
const char *fromLim,
|
||||||
|
char **toP,
|
||||||
|
const char *toLim);
|
||||||
|
void (PTRCALL *utf16Convert)(const ENCODING *enc,
|
||||||
|
const char **fromP,
|
||||||
|
const char *fromLim,
|
||||||
|
unsigned short **toP,
|
||||||
|
const unsigned short *toLim);
|
||||||
|
int minBytesPerChar;
|
||||||
|
char isUtf8;
|
||||||
|
char isUtf16;
|
||||||
|
};
|
||||||
|
|
||||||
|
/* Scan the string starting at ptr until the end of the next complete
|
||||||
|
token, but do not scan past eptr. Return an integer giving the
|
||||||
|
type of token.
|
||||||
|
|
||||||
|
Return XML_TOK_NONE when ptr == eptr; nextTokPtr will not be set.
|
||||||
|
|
||||||
|
Return XML_TOK_PARTIAL when the string does not contain a complete
|
||||||
|
token; nextTokPtr will not be set.
|
||||||
|
|
||||||
|
Return XML_TOK_INVALID when the string does not start a valid
|
||||||
|
token; nextTokPtr will be set to point to the character which made
|
||||||
|
the token invalid.
|
||||||
|
|
||||||
|
Otherwise the string starts with a valid token; nextTokPtr will be
|
||||||
|
set to point to the character following the end of that token.
|
||||||
|
|
||||||
|
Each data character counts as a single token, but adjacent data
|
||||||
|
characters may be returned together. Similarly for characters in
|
||||||
|
the prolog outside literals, comments and processing instructions.
|
||||||
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#define XmlTok(enc, state, ptr, end, nextTokPtr) \
|
||||||
|
(((enc)->scanners[state])(enc, ptr, end, nextTokPtr))
|
||||||
|
|
||||||
|
#define XmlPrologTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlTok(enc, XML_PROLOG_STATE, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#define XmlContentTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlTok(enc, XML_CONTENT_STATE, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#define XmlCdataSectionTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlTok(enc, XML_CDATA_SECTION_STATE, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#ifdef XML_DTD
|
||||||
|
|
||||||
|
#define XmlIgnoreSectionTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlTok(enc, XML_IGNORE_SECTION_STATE, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#endif /* XML_DTD */
|
||||||
|
|
||||||
|
/* This is used for performing a 2nd-level tokenization on the content
|
||||||
|
of a literal that has already been returned by XmlTok.
|
||||||
|
*/
|
||||||
|
#define XmlLiteralTok(enc, literalType, ptr, end, nextTokPtr) \
|
||||||
|
(((enc)->literalScanners[literalType])(enc, ptr, end, nextTokPtr))
|
||||||
|
|
||||||
|
#define XmlAttributeValueTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlLiteralTok(enc, XML_ATTRIBUTE_VALUE_LITERAL, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#define XmlEntityValueTok(enc, ptr, end, nextTokPtr) \
|
||||||
|
XmlLiteralTok(enc, XML_ENTITY_VALUE_LITERAL, ptr, end, nextTokPtr)
|
||||||
|
|
||||||
|
#define XmlSameName(enc, ptr1, ptr2) (((enc)->sameName)(enc, ptr1, ptr2))
|
||||||
|
|
||||||
|
#define XmlNameMatchesAscii(enc, ptr1, end1, ptr2) \
|
||||||
|
(((enc)->nameMatchesAscii)(enc, ptr1, end1, ptr2))
|
||||||
|
|
||||||
|
#define XmlNameLength(enc, ptr) \
|
||||||
|
(((enc)->nameLength)(enc, ptr))
|
||||||
|
|
||||||
|
#define XmlSkipS(enc, ptr) \
|
||||||
|
(((enc)->skipS)(enc, ptr))
|
||||||
|
|
||||||
|
#define XmlGetAttributes(enc, ptr, attsMax, atts) \
|
||||||
|
(((enc)->getAtts)(enc, ptr, attsMax, atts))
|
||||||
|
|
||||||
|
#define XmlCharRefNumber(enc, ptr) \
|
||||||
|
(((enc)->charRefNumber)(enc, ptr))
|
||||||
|
|
||||||
|
#define XmlPredefinedEntityName(enc, ptr, end) \
|
||||||
|
(((enc)->predefinedEntityName)(enc, ptr, end))
|
||||||
|
|
||||||
|
#define XmlUpdatePosition(enc, ptr, end, pos) \
|
||||||
|
(((enc)->updatePosition)(enc, ptr, end, pos))
|
||||||
|
|
||||||
|
#define XmlIsPublicId(enc, ptr, end, badPtr) \
|
||||||
|
(((enc)->isPublicId)(enc, ptr, end, badPtr))
|
||||||
|
|
||||||
|
#define XmlUtf8Convert(enc, fromP, fromLim, toP, toLim) \
|
||||||
|
(((enc)->utf8Convert)(enc, fromP, fromLim, toP, toLim))
|
||||||
|
|
||||||
|
#define XmlUtf16Convert(enc, fromP, fromLim, toP, toLim) \
|
||||||
|
(((enc)->utf16Convert)(enc, fromP, fromLim, toP, toLim))
|
||||||
|
|
||||||
|
typedef struct {
|
||||||
|
ENCODING initEnc;
|
||||||
|
const ENCODING **encPtr;
|
||||||
|
} INIT_ENCODING;
|
||||||
|
|
||||||
|
int XmlParseXmlDecl(int isGeneralTextEntity,
|
||||||
|
const ENCODING *enc,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
const char **badPtr,
|
||||||
|
const char **versionPtr,
|
||||||
|
const char **versionEndPtr,
|
||||||
|
const char **encodingNamePtr,
|
||||||
|
const ENCODING **namedEncodingPtr,
|
||||||
|
int *standalonePtr);
|
||||||
|
|
||||||
|
int XmlInitEncoding(INIT_ENCODING *, const ENCODING **, const char *name);
|
||||||
|
const ENCODING *XmlGetUtf8InternalEncoding(void);
|
||||||
|
const ENCODING *XmlGetUtf16InternalEncoding(void);
|
||||||
|
int FASTCALL XmlUtf8Encode(int charNumber, char *buf);
|
||||||
|
int FASTCALL XmlUtf16Encode(int charNumber, unsigned short *buf);
|
||||||
|
int XmlSizeOfUnknownEncoding(void);
|
||||||
|
|
||||||
|
|
||||||
|
typedef int (XMLCALL *CONVERTER) (void *userData, const char *p);
|
||||||
|
|
||||||
|
ENCODING *
|
||||||
|
XmlInitUnknownEncoding(void *mem,
|
||||||
|
int *table,
|
||||||
|
CONVERTER convert,
|
||||||
|
void *userData);
|
||||||
|
|
||||||
|
int XmlParseXmlDeclNS(int isGeneralTextEntity,
|
||||||
|
const ENCODING *enc,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
const char **badPtr,
|
||||||
|
const char **versionPtr,
|
||||||
|
const char **versionEndPtr,
|
||||||
|
const char **encodingNamePtr,
|
||||||
|
const ENCODING **namedEncodingPtr,
|
||||||
|
int *standalonePtr);
|
||||||
|
|
||||||
|
int XmlInitEncodingNS(INIT_ENCODING *, const ENCODING **, const char *name);
|
||||||
|
const ENCODING *XmlGetUtf8InternalEncodingNS(void);
|
||||||
|
const ENCODING *XmlGetUtf16InternalEncodingNS(void);
|
||||||
|
ENCODING *
|
||||||
|
XmlInitUnknownEncodingNS(void *mem,
|
||||||
|
int *table,
|
||||||
|
CONVERTER convert,
|
||||||
|
void *userData);
|
||||||
|
#ifdef __cplusplus
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#endif /* not XmlTok_INCLUDED */
|
1783
contrib/sdk/sources/expat/lib/xmltok_impl.c
Normal file
1783
contrib/sdk/sources/expat/lib/xmltok_impl.c
Normal file
File diff suppressed because it is too large
Load Diff
46
contrib/sdk/sources/expat/lib/xmltok_impl.h
Normal file
46
contrib/sdk/sources/expat/lib/xmltok_impl.h
Normal file
@ -0,0 +1,46 @@
|
|||||||
|
/*
|
||||||
|
Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
enum {
|
||||||
|
BT_NONXML,
|
||||||
|
BT_MALFORM,
|
||||||
|
BT_LT,
|
||||||
|
BT_AMP,
|
||||||
|
BT_RSQB,
|
||||||
|
BT_LEAD2,
|
||||||
|
BT_LEAD3,
|
||||||
|
BT_LEAD4,
|
||||||
|
BT_TRAIL,
|
||||||
|
BT_CR,
|
||||||
|
BT_LF,
|
||||||
|
BT_GT,
|
||||||
|
BT_QUOT,
|
||||||
|
BT_APOS,
|
||||||
|
BT_EQUALS,
|
||||||
|
BT_QUEST,
|
||||||
|
BT_EXCL,
|
||||||
|
BT_SOL,
|
||||||
|
BT_SEMI,
|
||||||
|
BT_NUM,
|
||||||
|
BT_LSQB,
|
||||||
|
BT_S,
|
||||||
|
BT_NMSTRT,
|
||||||
|
BT_COLON,
|
||||||
|
BT_HEX,
|
||||||
|
BT_DIGIT,
|
||||||
|
BT_NAME,
|
||||||
|
BT_MINUS,
|
||||||
|
BT_OTHER, /* known not to be a name or name start character */
|
||||||
|
BT_NONASCII, /* might be a name or name start character */
|
||||||
|
BT_PERCNT,
|
||||||
|
BT_LPAR,
|
||||||
|
BT_RPAR,
|
||||||
|
BT_AST,
|
||||||
|
BT_PLUS,
|
||||||
|
BT_COMMA,
|
||||||
|
BT_VERBAR
|
||||||
|
};
|
||||||
|
|
||||||
|
#include <stddef.h>
|
115
contrib/sdk/sources/expat/lib/xmltok_ns.c
Normal file
115
contrib/sdk/sources/expat/lib/xmltok_ns.c
Normal file
@ -0,0 +1,115 @@
|
|||||||
|
/* Copyright (c) 1998, 1999 Thai Open Source Software Center Ltd
|
||||||
|
See the file COPYING for copying permission.
|
||||||
|
*/
|
||||||
|
|
||||||
|
/* This file is included! */
|
||||||
|
#ifdef XML_TOK_NS_C
|
||||||
|
|
||||||
|
const ENCODING *
|
||||||
|
NS(XmlGetUtf8InternalEncoding)(void)
|
||||||
|
{
|
||||||
|
return &ns(internal_utf8_encoding).enc;
|
||||||
|
}
|
||||||
|
|
||||||
|
const ENCODING *
|
||||||
|
NS(XmlGetUtf16InternalEncoding)(void)
|
||||||
|
{
|
||||||
|
#if BYTEORDER == 1234
|
||||||
|
return &ns(internal_little2_encoding).enc;
|
||||||
|
#elif BYTEORDER == 4321
|
||||||
|
return &ns(internal_big2_encoding).enc;
|
||||||
|
#else
|
||||||
|
const short n = 1;
|
||||||
|
return (*(const char *)&n
|
||||||
|
? &ns(internal_little2_encoding).enc
|
||||||
|
: &ns(internal_big2_encoding).enc);
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ENCODING * const NS(encodings)[] = {
|
||||||
|
&ns(latin1_encoding).enc,
|
||||||
|
&ns(ascii_encoding).enc,
|
||||||
|
&ns(utf8_encoding).enc,
|
||||||
|
&ns(big2_encoding).enc,
|
||||||
|
&ns(big2_encoding).enc,
|
||||||
|
&ns(little2_encoding).enc,
|
||||||
|
&ns(utf8_encoding).enc /* NO_ENC */
|
||||||
|
};
|
||||||
|
|
||||||
|
static int PTRCALL
|
||||||
|
NS(initScanProlog)(const ENCODING *enc, const char *ptr, const char *end,
|
||||||
|
const char **nextTokPtr)
|
||||||
|
{
|
||||||
|
return initScan(NS(encodings), (const INIT_ENCODING *)enc,
|
||||||
|
XML_PROLOG_STATE, ptr, end, nextTokPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
static int PTRCALL
|
||||||
|
NS(initScanContent)(const ENCODING *enc, const char *ptr, const char *end,
|
||||||
|
const char **nextTokPtr)
|
||||||
|
{
|
||||||
|
return initScan(NS(encodings), (const INIT_ENCODING *)enc,
|
||||||
|
XML_CONTENT_STATE, ptr, end, nextTokPtr);
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
NS(XmlInitEncoding)(INIT_ENCODING *p, const ENCODING **encPtr,
|
||||||
|
const char *name)
|
||||||
|
{
|
||||||
|
int i = getEncodingIndex(name);
|
||||||
|
if (i == UNKNOWN_ENC)
|
||||||
|
return 0;
|
||||||
|
SET_INIT_ENC_INDEX(p, i);
|
||||||
|
p->initEnc.scanners[XML_PROLOG_STATE] = NS(initScanProlog);
|
||||||
|
p->initEnc.scanners[XML_CONTENT_STATE] = NS(initScanContent);
|
||||||
|
p->initEnc.updatePosition = initUpdatePosition;
|
||||||
|
p->encPtr = encPtr;
|
||||||
|
*encPtr = &(p->initEnc);
|
||||||
|
return 1;
|
||||||
|
}
|
||||||
|
|
||||||
|
static const ENCODING *
|
||||||
|
NS(findEncoding)(const ENCODING *enc, const char *ptr, const char *end)
|
||||||
|
{
|
||||||
|
#define ENCODING_MAX 128
|
||||||
|
char buf[ENCODING_MAX];
|
||||||
|
char *p = buf;
|
||||||
|
int i;
|
||||||
|
XmlUtf8Convert(enc, &ptr, end, &p, p + ENCODING_MAX - 1);
|
||||||
|
if (ptr != end)
|
||||||
|
return 0;
|
||||||
|
*p = 0;
|
||||||
|
if (streqci(buf, KW_UTF_16) && enc->minBytesPerChar == 2)
|
||||||
|
return enc;
|
||||||
|
i = getEncodingIndex(buf);
|
||||||
|
if (i == UNKNOWN_ENC)
|
||||||
|
return 0;
|
||||||
|
return NS(encodings)[i];
|
||||||
|
}
|
||||||
|
|
||||||
|
int
|
||||||
|
NS(XmlParseXmlDecl)(int isGeneralTextEntity,
|
||||||
|
const ENCODING *enc,
|
||||||
|
const char *ptr,
|
||||||
|
const char *end,
|
||||||
|
const char **badPtr,
|
||||||
|
const char **versionPtr,
|
||||||
|
const char **versionEndPtr,
|
||||||
|
const char **encodingName,
|
||||||
|
const ENCODING **encoding,
|
||||||
|
int *standalone)
|
||||||
|
{
|
||||||
|
return doParseXmlDecl(NS(findEncoding),
|
||||||
|
isGeneralTextEntity,
|
||||||
|
enc,
|
||||||
|
ptr,
|
||||||
|
end,
|
||||||
|
badPtr,
|
||||||
|
versionPtr,
|
||||||
|
versionEndPtr,
|
||||||
|
encodingName,
|
||||||
|
encoding,
|
||||||
|
standalone);
|
||||||
|
}
|
||||||
|
|
||||||
|
#endif /* XML_TOK_NS_C */
|
Loading…
Reference in New Issue
Block a user