svn commit: r302386 - in stable/9/contrib/expat: . doc examples lib tests tests/benchmark xmlwf
Xin LI
delphij at FreeBSD.org
Thu Jul 7 05:04:23 UTC 2016
Author: delphij
Date: Thu Jul 7 05:04:20 2016
New Revision: 302386
URL: https://svnweb.freebsd.org/changeset/base/302386
Log:
MFC r302305: MFV r302260: expat 2.2.0.
Added:
stable/9/contrib/expat/configure.ac
- copied unchanged from r302305, head/contrib/expat/configure.ac
stable/9/contrib/expat/doc/xmlwf.xml
- copied unchanged from r302305, head/contrib/expat/doc/xmlwf.xml
Deleted:
stable/9/contrib/expat/configure.in
stable/9/contrib/expat/doc/xmlwf.sgml
Modified:
stable/9/contrib/expat/COPYING
stable/9/contrib/expat/Changes
stable/9/contrib/expat/MANIFEST
stable/9/contrib/expat/Makefile.in
stable/9/contrib/expat/README
stable/9/contrib/expat/doc/expat.png (contents, props changed)
stable/9/contrib/expat/doc/reference.html
stable/9/contrib/expat/doc/xmlwf.1
stable/9/contrib/expat/examples/elements.c
stable/9/contrib/expat/examples/outline.c
stable/9/contrib/expat/expat_config.h.in
stable/9/contrib/expat/lib/expat.h
stable/9/contrib/expat/lib/expat_external.h
stable/9/contrib/expat/lib/internal.h
stable/9/contrib/expat/lib/xmlparse.c
stable/9/contrib/expat/lib/xmlrole.c
stable/9/contrib/expat/lib/xmltok.c
stable/9/contrib/expat/lib/xmltok.h
stable/9/contrib/expat/lib/xmltok_impl.c
stable/9/contrib/expat/tests/benchmark/README.txt
stable/9/contrib/expat/tests/chardata.c
stable/9/contrib/expat/tests/minicheck.c
stable/9/contrib/expat/tests/minicheck.h
stable/9/contrib/expat/tests/runtests.c
stable/9/contrib/expat/tests/xmltest.sh
stable/9/contrib/expat/xmlwf/codepage.c
stable/9/contrib/expat/xmlwf/readfilemap.c
stable/9/contrib/expat/xmlwf/unixfilemap.c
stable/9/contrib/expat/xmlwf/xmlfile.c
stable/9/contrib/expat/xmlwf/xmlwf.c
Directory Properties:
stable/9/contrib/expat/ (props changed)
Modified: stable/9/contrib/expat/COPYING
==============================================================================
--- stable/9/contrib/expat/COPYING Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/COPYING Thu Jul 7 05:04:20 2016 (r302386)
@@ -1,6 +1,5 @@
-Copyright (c) 1998, 1999, 2000 Thai Open Source Software Center Ltd
- and Clark Cooper
-Copyright (c) 2001, 2002, 2003, 2004, 2005, 2006 Expat maintainers.
+Copyright (c) 1998-2000 Thai Open Source Software Center Ltd and Clark Cooper
+Copyright (c) 2001-2016 Expat maintainers
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
Modified: stable/9/contrib/expat/Changes
==============================================================================
--- stable/9/contrib/expat/Changes Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/Changes Thu Jul 7 05:04:20 2016 (r302386)
@@ -1,3 +1,67 @@
+Release 2.2.0 Tue June 21 2016
+ Security fixes:
+ #537 CVE-2016-0718 -- Fix crash on malformed input
+ CVE-2016-4472 -- Improve insufficient fix to CVE-2015-1283 /
+ CVE-2015-2716 introduced with Expat 2.1.1
+ #499 CVE-2016-5300 -- Use more entropy for hash initialization
+ than the original fix to CVE-2012-0876
+ #519 CVE-2012-6702 -- Resolve troublesome internal call to srand
+ that was introduced with Expat 2.1.0
+ when addressing CVE-2012-0876 (issue #496)
+
+ Bug fixes:
+ Fix uninitialized reads of size 1
+ (e.g. in little2_updatePosition)
+ Fix detection of UTF-8 character boundaries
+
+ Other changes:
+ #532 Fix compilation for Visual Studio 2010 (keyword "C99")
+ Autotools: Resolve use of "$<" to better support bmake
+ Autotools: Add QA script "qa.sh" (and make target "qa")
+ Autotools: Respect CXXFLAGS if given
+ Autotools: Fix "make run-xmltest"
+ Autotools: Have "make run-xmltest" check for expected output
+ p90 CMake: Fix static build (BUILD_shared=OFF) on Windows
+ #536 CMake: Add soversion, support -DNO_SONAME=yes to bypass
+ #323 CMake: Add suffix "d" to differentiate debug from release
+ CMake: Define WIN32 with CMake on Windows
+ Annotate memory allocators for GCC
+ Address all currently known compile warnings
+ Make sure that API symbols remain visible despite
+ -fvisibility=hidden
+ Remove executable flag from source files
+ Resolve COMPILED_FROM_DSP in favor of WIN32
+
+ Special thanks to:
+ Björn Lindahl
+ Christian Heimes
+ Cristian Rodríguez
+ Daniel Krügler
+ Gustavo Grieco
+ Karl Waclawek
+ László Böszörményi
+ Marco Grassi
+ Pascal Cuoq
+ Sergei Nikulov
+ Thomas Beutlich
+ Warren Young
+ Yann Droneaud
+
+Release 2.1.1 Sat March 12 2016
+ Security fixes:
+ #582: CVE-2015-1283 - Multiple integer overflows in XML_GetBuffer
+
+ Bug fixes:
+ #502: Fix potential null pointer dereference
+ #520: Symbol XML_SetHashSalt was not exported
+ Output of "xmlwf -h" was incomplete
+
+ Other changes:
+ #503: Document behavior of calling XML_SetHashSalt with salt 0
+ Minor improvements to man page xmlwf(1)
+ Improvements to the experimental CMake build system
+ libtool now invoked with --verbose
+
Release 2.1.0 Sat March 24 2012
- Bug Fixes:
#1742315: Harmful XML_ParserCreateNS suggestion.
@@ -23,7 +87,7 @@ Release 2.1.0 Sat March 24 2012
#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
+ Added new API member XML_SetHashSalt() that allows setting an initial
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
Modified: stable/9/contrib/expat/MANIFEST
==============================================================================
--- stable/9/contrib/expat/MANIFEST Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/MANIFEST Thu Jul 7 05:04:20 2016 (r302386)
@@ -44,7 +44,7 @@ doc/reference.html
doc/style.css
doc/valid-xhtml10.png
doc/xmlwf.1
-doc/xmlwf.sgml
+doc/xmlwf.xml
CMakeLists.txt
CMake.README
COPYING
@@ -54,7 +54,7 @@ MANIFEST
Makefile.in
README
configure
-configure.in
+configure.ac
expat_config.h.in
expat_config.h.cmake
expat.pc.in
Modified: stable/9/contrib/expat/Makefile.in
==============================================================================
--- stable/9/contrib/expat/Makefile.in Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/Makefile.in Thu Jul 7 05:04:20 2016 (r302386)
@@ -42,7 +42,7 @@ INSTALL_DATA = @INSTALL_DATA@
mkinstalldirs = $(SHELL) $(top_srcdir)/conftools/mkinstalldirs
MANFILE = $(srcdir)/doc/xmlwf.1
-APIHEADER = $(srcdir)/lib/expat.h $(srcdir)/lib/expat_external.h
+APIHEADER = $(srcdir)/lib/expat.h $(srcdir)/lib/expat_external.h expat_config.h
LIBRARY = libexpat.la
DESTDIR = $(INSTALL_ROOT)
@@ -51,7 +51,7 @@ default: buildlib xmlwf/xmlwf at EXEEXT@
buildlib: $(LIBRARY) expat.pc
-all: $(LIBRARY) expat.pc xmlwf/xmlwf at EXEEXT@ examples/elements examples/outline
+all: $(LIBRARY) expat.pc xmlwf/xmlwf at EXEEXT@ examples/elements examples/outline $(MANFILE)
clean:
cd lib && rm -f $(LIBRARY) *. at OBJEXT@ *.lo && rm -rf .libs _libs
@@ -77,7 +77,10 @@ check: tests/runtests tests/runtestspp
tests/runtests
tests/runtestspp
-install: xmlwf/xmlwf at EXEEXT@ installlib
+$(MANFILE):
+ $(MAKE) -C doc xmlwf.1
+
+install: xmlwf/xmlwf at EXEEXT@ installlib $(MANFILE)
$(mkinstalldirs) $(DESTDIR)$(bindir) $(DESTDIR)$(man1dir)
$(LIBTOOL) --mode=install $(INSTALL_PROGRAM) xmlwf/xmlwf at EXEEXT@ $(DESTDIR)$(bindir)/xmlwf
$(INSTALL_DATA) $(MANFILE) $(DESTDIR)$(man1dir)
@@ -116,7 +119,7 @@ CXXFLAGS = @CXXFLAGS@
VSNFLAG = -version-info @LIBCURRENT@:@LIBREVISION@:@LIBAGE@
### autoconf this?
-LTFLAGS = --silent
+LTFLAGS = --verbose
COMPILE = $(CC) $(INCLUDES) $(CFLAGS) $(DEFS) $(CPPFLAGS)
CXXCOMPILE = $(CXX) $(INCLUDES) $(CXXFLAGS) $(DEFS) $(CPPFLAGS)
@@ -154,11 +157,11 @@ xmlwf/xmlwf at EXEEXT@: $(XMLWF_OBJS) $(LIB
examples/elements. at OBJEXT@: examples/elements.c
examples/elements: examples/elements. at OBJEXT@ $(LIBRARY)
- $(LINK_EXE) $< $(LIBRARY)
+ $(LINK_EXE) examples/elements. at OBJEXT@ $(LIBRARY)
examples/outline. at OBJEXT@: examples/outline.c
examples/outline: examples/outline. at OBJEXT@ $(LIBRARY)
- $(LINK_EXE) $< $(LIBRARY)
+ $(LINK_EXE) examples/outline. at OBJEXT@ $(LIBRARY)
tests/chardata. at OBJEXT@: tests/chardata.c tests/chardata.h
tests/minicheck. at OBJEXT@: tests/minicheck.c tests/minicheck.h
@@ -180,11 +183,19 @@ tests/xmlts.zip:
wget --output-document=tests/xmlts.zip \
http://www.w3.org/XML/Test/xmlts20080827.zip
-tests/XML-Test-Suite: tests/xmlts.zip
+tests/xmlconf: tests/xmlts.zip
cd tests && unzip -q xmlts.zip
-run-xmltest: xmlwf/xmlwf at EXEEXT@ tests/XML-Test-Suite
- tests/xmltest.sh
+run-xmltest: xmlwf/xmlwf at EXEEXT@ tests/xmlconf
+ tests/xmltest.sh 2>&1 | tee tests/xmltest.log
+ diff -u tests/xmltest.log.expected tests/xmltest.log
+
+.PHONY: qa
+qa:
+ ./qa.sh address
+ ./qa.sh memory
+ ./qa.sh undefined
+ ./qa.sh coverage
.SUFFIXES: .c .cpp .lo . at OBJEXT@
Modified: stable/9/contrib/expat/README
==============================================================================
--- stable/9/contrib/expat/README Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/README Thu Jul 7 05:04:20 2016 (r302386)
@@ -1,5 +1,5 @@
- Expat, Release 2.1.0
+ Expat, Release 2.2.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
@@ -114,7 +114,7 @@ Note for Solaris users: The "ar" comman
"/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
+properly -- apparently it does not understand .PHONY directives). If
you're using ksh or bash, use this command to build:
PATH=/usr/ccs/bin:$PATH make
Copied: stable/9/contrib/expat/configure.ac (from r302305, head/contrib/expat/configure.ac)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/9/contrib/expat/configure.ac Thu Jul 7 05:04:20 2016 (r302386, copy of r302305, head/contrib/expat/configure.ac)
@@ -0,0 +1,157 @@
+dnl configuration script for expat
+dnl Process this file with autoconf to produce a configure script.
+dnl
+dnl Copyright 2000 Clark Cooper
+dnl
+dnl This file is part of EXPAT.
+dnl
+dnl EXPAT is free software; you can redistribute it and/or modify it
+dnl under the terms of the License (based on the MIT/X license) contained
+dnl in the file COPYING that comes with this distribution.
+dnl
+
+dnl Ensure that Expat is configured with autoconf 2.58 or newer
+AC_PREREQ(2.58)
+
+dnl Get the version number of Expat, using m4's esyscmd() command to run
+dnl the command at m4-generation time. This allows us to create an m4
+dnl symbol holding the correct version number. AC_INIT() requires the
+dnl version number at m4-time, rather than when ./configure is run, so
+dnl all this must happen as part of m4, not as part of the shell code
+dnl contained in ./configure.
+dnl
+dnl NOTE: esyscmd() is a GNU M4 extension. Thus, we wrap it in an appropriate
+dnl test. I believe this test will work, but I don't have a place with non-
+dnl GNU M4 to test it right now.
+define([expat_version], ifdef([__gnu__],
+ [esyscmd(conftools/get-version.sh lib/expat.h)],
+ [2.2.x]))
+AC_INIT(expat, expat_version, expat-bugs at libexpat.org)
+undefine([expat_version])
+
+AC_CONFIG_SRCDIR(Makefile.in)
+AC_CONFIG_AUX_DIR(conftools)
+AC_CONFIG_MACRO_DIR([m4])
+
+
+dnl
+dnl Increment LIBREVISION if source code has changed at all
+dnl
+dnl If the API has changed, increment LIBCURRENT and set LIBREVISION to 0
+dnl
+dnl If the API changes compatibly (i.e. simply adding a new function
+dnl without changing or removing earlier interfaces), then increment LIBAGE.
+dnl
+dnl If the API changes incompatibly set LIBAGE back to 0
+dnl
+
+LIBCURRENT=7 # sync
+LIBREVISION=2 # with
+LIBAGE=6 # CMakeLists.txt!
+
+AC_CONFIG_HEADER(expat_config.h)
+
+sinclude(conftools/ac_c_bigendian_cross.m4)
+
+AC_LIBTOOL_WIN32_DLL
+AC_PROG_LIBTOOL
+
+AC_SUBST(LIBCURRENT)
+AC_SUBST(LIBREVISION)
+AC_SUBST(LIBAGE)
+
+dnl Checks for programs.
+AC_PROG_CC
+AC_PROG_CXX
+AC_PROG_INSTALL
+
+if test "$GCC" = yes ; then
+ dnl
+ dnl Be careful about adding the -fexceptions option; some versions of
+ dnl GCC don't support it and it causes extra warnings that are only
+ dnl distracting; avoid.
+ dnl
+ OLDCFLAGS="$CFLAGS -Wall -Wmissing-prototypes -Wstrict-prototypes"
+ CFLAGS="$OLDCFLAGS -fexceptions"
+ AC_MSG_CHECKING(whether $CC accepts -fexceptions)
+ AC_TRY_LINK( , ,
+ AC_MSG_RESULT(yes),
+ AC_MSG_RESULT(no); CFLAGS="$OLDCFLAGS")
+ if test "x$CXXFLAGS" = x ; then
+ CXXFLAGS=`echo "$CFLAGS" | sed 's/ -Wmissing-prototypes -Wstrict-prototypes//'`
+ fi
+fi
+
+dnl Checks for header files.
+AC_HEADER_STDC
+
+dnl Checks for typedefs, structures, and compiler characteristics.
+
+dnl Note: Avoid using AC_C_BIGENDIAN because it does not
+dnl work in a cross compile.
+AC_C_BIGENDIAN_CROSS
+
+AC_C_CONST
+AC_TYPE_SIZE_T
+AC_CHECK_FUNCS(memmove bcopy)
+
+dnl Only needed for xmlwf:
+AC_CHECK_HEADERS(fcntl.h unistd.h)
+AC_TYPE_OFF_T
+AC_FUNC_MMAP
+
+if test "$ac_cv_func_mmap_fixed_mapped" = "yes"; then
+ FILEMAP=unixfilemap
+else
+ FILEMAP=readfilemap
+fi
+AC_SUBST(FILEMAP)
+
+dnl Needed for the test support code; this was found at
+dnl http://lists.gnu.org/archive/html/bug-autoconf/2002-07/msg00028.html
+
+# AC_CPP_FUNC
+# ------------------ #
+# Checks to see if ANSI C99 CPP variable __func__ works.
+# If not, perhaps __FUNCTION__ works instead.
+# If not, we'll just define __func__ to "".
+AC_DEFUN([AC_CPP_FUNC],
+[AC_REQUIRE([AC_PROG_CC_STDC])dnl
+AC_CACHE_CHECK([for an ANSI C99-conforming __func__], ac_cv_cpp_func,
+[AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+[[char *foo = __func__;]])],
+ [ac_cv_cpp_func=yes],
+ [AC_COMPILE_IFELSE([AC_LANG_PROGRAM([],
+[[char *foo = __FUNCTION__;]])],
+ [ac_cv_cpp_func=__FUNCTION__],
+ [ac_cv_cpp_func=no])])])
+if test $ac_cv_cpp_func = __FUNCTION__; then
+ AC_DEFINE(__func__,__FUNCTION__,
+ [Define to __FUNCTION__ or "" if `__func__' does not conform to
+ANSI C.])
+elif test $ac_cv_cpp_func = no; then
+ AC_DEFINE(__func__,"",
+ [Define to __FUNCTION__ or "" if `__func__' does not conform to
+ANSI C.])
+fi
+])# AC_CPP_FUNC
+
+AC_CPP_FUNC
+
+
+dnl Some basic configuration:
+AC_DEFINE([XML_NS], 1,
+ [Define to make XML Namespaces functionality available.])
+AC_DEFINE([XML_DTD], 1,
+ [Define to make parameter entity parsing functionality available.])
+AC_DEFINE([XML_CONTEXT_BYTES], 1024,
+ [Define to specify how much context to retain around the current parse point.])
+
+AC_CONFIG_FILES([Makefile expat.pc])
+AC_OUTPUT
+
+abs_srcdir="`cd $srcdir && pwd`"
+abs_builddir="`pwd`"
+if test "$abs_srcdir" != "$abs_builddir"; then
+ make mkdir-init
+fi
Modified: stable/9/contrib/expat/doc/expat.png
==============================================================================
Binary file (source and/or target). No diff available.
Modified: stable/9/contrib/expat/doc/reference.html
==============================================================================
--- stable/9/contrib/expat/doc/reference.html Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/doc/reference.html Thu Jul 7 05:04:20 2016 (r302386)
@@ -2151,8 +2151,12 @@ Helps in preventing DoS attacks based on
function behavior. In order to have an effect this must be called
before parsing has started. Returns 1 if successful, 0 when called
after <code>XML_Parse</code> or <code>XML_ParseBuffer</code>.
-<p><b>Note:</b> This call is optional, as the parser will auto-generate a new
-random salt value if no value has been set at the start of parsing.</p>
+<p><b>Note:</b>This call is optional, as the parser will auto-generate
+a new random salt value if no value has been set at the start of parsing.
+<p><b>Note:</b>One should not call <code>XML_SetHashSalt</code> with a
+hash salt value of 0, as this value is used as sentinel value to indicate
+that <code>XML_SetHashSalt</code> has <b>not</b> been called. Consequently
+such a call will have no effect, even if it returns 1.</p>
</div>
<pre class="fcndec" id="XML_UseForeignDTD">
Modified: stable/9/contrib/expat/doc/xmlwf.1
==============================================================================
--- stable/9/contrib/expat/doc/xmlwf.1 Thu Jul 7 04:59:58 2016 (r302385)
+++ stable/9/contrib/expat/doc/xmlwf.1 Thu Jul 7 05:04:20 2016 (r302386)
@@ -1,33 +1,40 @@
-.\" This manpage has been automatically generated by docbook2man
-.\" from a DocBook document. This tool can be found at:
-.\" <http://shell.ipoline.com/~elmert/comp/docbook2X/>
-.\" Please send any bug reports, improvements, comments, patches,
-.\" etc. to Steve Cheng <steve at ggi-project.org>.
-.TH "XMLWF" "1" "24 January 2003" "" ""
+'\" -*- coding: us-ascii -*-
+.if \n(.g .ds T< \\FC
+.if \n(.g .ds T> \\F[\n[.fam]]
+.de URL
+\\$2 \(la\\$1\(ra\\$3
+..
+.if \n(.g .mso www.tmac
+.TH XMLWF 1 "March 11, 2016" "" ""
.SH NAME
xmlwf \- Determines if an XML document is well-formed
.SH SYNOPSIS
-
-\fBxmlwf\fR [ \fB-s\fR] [ \fB-n\fR] [ \fB-p\fR] [ \fB-x\fR] [ \fB-e \fIencoding\fB\fR] [ \fB-w\fR] [ \fB-d \fIoutput-dir\fB\fR] [ \fB-c\fR] [ \fB-m\fR] [ \fB-r\fR] [ \fB-t\fR] [ \fB-v\fR] [ \fBfile ...\fR]
-
-.SH "DESCRIPTION"
-.PP
+'nh
+.fi
+.ad l
+\fBxmlwf\fR \kx
+.if (\nx>(\n(.l/2)) .nr x (\n(.l/5)
+'in \n(.iu+\nxu
+[\fB-s\fR] [\fB-n\fR] [\fB-p\fR] [\fB-x\fR] [\fB-e \fIencoding\fB\fR] [\fB-w\fR] [\fB-d \fIoutput-dir\fB\fR] [\fB-c\fR] [\fB-m\fR] [\fB-r\fR] [\fB-t\fR] [\fB-v\fR] [file ...]
+'in \n(.iu-\nxu
+.ad b
+'hy
+.SH DESCRIPTION
\fBxmlwf\fR uses the Expat library to
-determine if an XML document is well-formed. It is
+determine if an XML document is well-formed. It is
non-validating.
.PP
If you do not specify any files on the command-line, and you
have a recent version of \fBxmlwf\fR, the
input file will be read from standard input.
.SH "WELL-FORMED DOCUMENTS"
-.PP
A well-formed document must adhere to the
following rules:
.TP 0.2i
\(bu
-The file begins with an XML declaration. For instance,
-<?xml version="1.0" standalone="yes"?>.
-\fBNOTE:\fR
+The file begins with an XML declaration. For instance,
+\*(T<<?xml version="1.0" standalone="yes"?>\*(T>.
+\fINOTE:\fR
\fBxmlwf\fR does not currently
check for a valid XML declaration.
.TP 0.2i
@@ -36,8 +43,8 @@ Every start tag is either empty (<tag/>)
or has a corresponding end tag.
.TP 0.2i
\(bu
-There is exactly one root element. This element must contain
-all other elements in the document. Only comments, white
+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.
.TP 0.2i
@@ -49,39 +56,38 @@ All attribute values are enclosed in quo
or double).
.PP
If the document has a DTD, and it strictly complies with that
-DTD, then the document is also considered \fBvalid\fR.
+DTD, then the document is also considered \fIvalid\fR.
\fBxmlwf\fR is a non-validating parser --
-it does not check the DTD. However, it does support
-external entities (see the \fB-x\fR option).
-.SH "OPTIONS"
-.PP
+it does not check the DTD. However, it does support
+external entities (see the \*(T<\fB\-x\fR\*(T> option).
+.SH OPTIONS
When an option includes an argument, you may specify the argument either
-separately ("\fB-d\fR output") or concatenated with the
-option ("\fB-d\fRoutput"). \fBxmlwf\fR
+separately ("\*(T<\fB\-d\fR\*(T> output") or concatenated with the
+option ("\*(T<\fB\-d\fR\*(T>output"). \fBxmlwf\fR
supports both.
-.TP
-\fB-c\fR
+.TP
+\*(T<\fB\-c\fR\*(T>
If the input file is well-formed and \fBxmlwf\fR
doesn't encounter any errors, the input file is simply copied to
the output directory unchanged.
-This implies no namespaces (turns off \fB-n\fR) and
-requires \fB-d\fR to specify an output file.
-.TP
-\fB-d output-dir\fR
+This implies no namespaces (turns off \*(T<\fB\-n\fR\*(T>) and
+requires \*(T<\fB\-d\fR\*(T> to specify an output file.
+.TP
+\*(T<\fB\-d output\-dir\fR\*(T>
Specifies a directory to contain transformed
representations of the input files.
-By default, \fB-d\fR outputs a canonical representation
+By default, \*(T<\fB\-d\fR\*(T> outputs a canonical representation
(described below).
-You can select different output formats using \fB-c\fR
-and \fB-m\fR.
+You can select different output formats using \*(T<\fB\-c\fR\*(T>
+and \*(T<\fB\-m\fR\*(T>.
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
+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, \fBxmlwf\fR will delete the
+file. Otherwise, \fBxmlwf\fR will delete the
input file before it generates the output file (just like running
-cat < file > file in most shells).
+\*(T<cat < file > file\*(T> in most shells).
Two structurally equivalent XML documents have a byte-for-byte
identical canonical XML representation.
@@ -89,39 +95,39 @@ Note that ignorable white space is consi
is treated equivalently to data.
More on canonical XML can be found at
http://www.jclark.com/xml/canonxml.html .
-.TP
-\fB-e encoding\fR
+.TP
+\*(T<\fB\-e encoding\fR\*(T>
Specifies the character encoding for the document, overriding
-any document encoding declaration. \fBxmlwf\fR
+any document encoding declaration. \fBxmlwf\fR
supports four built-in encodings:
-US-ASCII,
-UTF-8,
-UTF-16, and
-ISO-8859-1.
-Also see the \fB-w\fR option.
-.TP
-\fB-m\fR
+\*(T<US\-ASCII\*(T>,
+\*(T<UTF\-8\*(T>,
+\*(T<UTF\-16\*(T>, and
+\*(T<ISO\-8859\-1\*(T>.
+Also see the \*(T<\fB\-w\fR\*(T> option.
+.TP
+\*(T<\fB\-m\fR\*(T>
Outputs some strange sort of XML file that completely
describes the input file, including character positions.
-Requires \fB-d\fR to specify an output file.
-.TP
-\fB-n\fR
-Turns on namespace processing. (describe namespaces)
-\fB-c\fR disables namespaces.
-.TP
-\fB-p\fR
+Requires \*(T<\fB\-d\fR\*(T> to specify an output file.
+.TP
+\*(T<\fB\-n\fR\*(T>
+Turns on namespace processing. (describe namespaces)
+\*(T<\fB\-c\fR\*(T> disables namespaces.
+.TP
+\*(T<\fB\-p\fR\*(T>
Tells xmlwf to process external DTDs and parameter
entities.
Normally \fBxmlwf\fR never parses parameter
-entities. \fB-p\fR tells it to always parse them.
-\fB-p\fR implies \fB-x\fR.
-.TP
-\fB-r\fR
+entities. \*(T<\fB\-p\fR\*(T> tells it to always parse them.
+\*(T<\fB\-p\fR\*(T> implies \*(T<\fB\-x\fR\*(T>.
+.TP
+\*(T<\fB\-r\fR\*(T>
Normally \fBxmlwf\fR memory-maps the XML file
before parsing; this can result in faster parsing on many
platforms.
-\fB-r\fR turns off memory-mapping and uses normal file
+\*(T<\fB\-r\fR\*(T> turns off memory-mapping and uses normal file
IO calls instead.
Of course, memory-mapping is automatically turned off
when reading from standard input.
@@ -131,34 +137,33 @@ substantially higher memory usage for
\fBxmlwf\fR, but this appears to be a matter of
the operating system reporting memory in a strange way; there is
not a leak in \fBxmlwf\fR.
-.TP
-\fB-s\fR
+.TP
+\*(T<\fB\-s\fR\*(T>
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.
-.TP
-\fB-t\fR
-Turns on timings. This tells Expat to parse the entire file,
+.TP
+\*(T<\fB\-t\fR\*(T>
+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.
-\fB-t\fR turns off most of the output options
-(\fB-d\fR, \fB-m\fR, \fB-c\fR,
-\&...).
-.TP
-\fB-v\fR
+\*(T<\fB\-t\fR\*(T> turns off most of the output options
+(\*(T<\fB\-d\fR\*(T>, \*(T<\fB\-m\fR\*(T>, \*(T<\fB\-c\fR\*(T>, ...).
+.TP
+\*(T<\fB\-v\fR\*(T>
Prints the version of the Expat library being used, including some
information on the compile-time configuration of the library, and
then exits.
-.TP
-\fB-w\fR
+.TP
+\*(T<\fB\-w\fR\*(T>
Enables support for Windows code pages.
Normally, \fBxmlwf\fR will throw an error if it
-runs across an encoding that it is not equipped to handle itself. With
-\fB-w\fR, xmlwf will try to use a Windows code
-page. See also \fB-e\fR.
-.TP
-\fB-x\fR
+runs across an encoding that it is not equipped to handle itself. With
+\*(T<\fB\-w\fR\*(T>, xmlwf will try to use a Windows code
+page. See also \*(T<\fB\-e\fR\*(T>.
+.TP
+\*(T<\fB\-x\fR\*(T>
Turns on parsing external entities.
Non-validating parsers are not required to resolve external
@@ -172,80 +177,75 @@ data from outside the XML file currently
This is an example of an internal entity:
.nf
+
<!ENTITY vers '1.0.2'>
.fi
And here are some examples of external entities:
.nf
-<!ENTITY header SYSTEM "header-&vers;.xml"> (parsed)
+
+<!ENTITY header SYSTEM "header\-&vers;.xml"> (parsed)
<!ENTITY logo SYSTEM "logo.png" PNG> (unparsed)
.fi
-.TP
-\fB--\fR
+.TP
+\*(T<\fB\-\-\fR\*(T>
(Two hyphens.)
-Terminates the list of options. This is only needed if a filename
-starts with a hyphen. For example:
+Terminates the list of options. This is only needed if a filename
+starts with a hyphen. For example:
.nf
-xmlwf -- -myfile.xml
+
+xmlwf \-\- \-myfile.xml
.fi
will run \fBxmlwf\fR on the file
-\fI-myfile.xml\fR.
+\*(T<\fI\-myfile.xml\fR\*(T>.
.PP
Older versions of \fBxmlwf\fR do not support
reading from standard input.
-.SH "OUTPUT"
-.PP
+.SH OUTPUT
If an input file is not well-formed,
\fBxmlwf\fR prints a single line describing
-the problem to standard output. If a file is well formed,
+the problem to standard output. If a file is well formed,
\fBxmlwf\fR outputs nothing.
-Note that the result code is \fBnot\fR set.
-.SH "BUGS"
-.PP
-According to the W3C standard, an XML file without a
-declaration at the beginning is not considered well-formed.
-However, \fBxmlwf\fR allows this to pass.
-.PP
+Note that the result code is \fInot\fR set.
+.SH BUGS
\fBxmlwf\fR returns a 0 - noerr result,
-even if the file is not well-formed. There is no good way for
+even if the file is not well-formed. There is no good way for
a program to use \fBxmlwf\fR to quickly
check a file -- it must parse \fBxmlwf\fR's
standard output.
.PP
The errors should go to standard error, not standard output.
.PP
-There should be a way to get \fB-d\fR to send its
+There should be a way to get \*(T<\fB\-d\fR\*(T> to send its
output to standard output rather than forcing the user to send
it to a file.
.PP
I have no idea why anyone would want to use the
-\fB-d\fR, \fB-c\fR, and
-\fB-m\fR options. If someone could explain it to
+\*(T<\fB\-d\fR\*(T>, \*(T<\fB\-c\fR\*(T>, and
+\*(T<\fB\-m\fR\*(T> options. If someone could explain it to
me, I'd like to add this information to this manpage.
-.SH "ALTERNATIVES"
-.PP
+.SH ALTERNATIVES
Here are some XML validators on the web:
.nf
-http://www.hcrc.ed.ac.uk/~richard/xml-check.html
+
+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
.fi
.SH "SEE ALSO"
-.PP
-
.nf
+
The Expat home page: http://www.libexpat.org/
-The W3 XML specification: http://www.w3.org/TR/REC-xml
+The W3 XML specification: http://www.w3.org/TR/REC\-xml
.fi
-.SH "AUTHOR"
-.PP
-This manual page was written by Scott Bronson <bronson at rinspin.com> for
-the Debian GNU/Linux system (but may be used by others). Permission is
+.SH AUTHOR
+This manual page was written by Scott Bronson <\*(T<bronson at rinspin.com\*(T>> for
+the Debian GNU/Linux system (but may be used by others). Permission is
granted to copy, distribute and/or modify this document under
the terms of the GNU Free Documentation
License, Version 1.1.
Copied: stable/9/contrib/expat/doc/xmlwf.xml (from r302305, head/contrib/expat/doc/xmlwf.xml)
==============================================================================
--- /dev/null 00:00:00 1970 (empty, because file is newly added)
+++ stable/9/contrib/expat/doc/xmlwf.xml Thu Jul 7 05:04:20 2016 (r302386, copy of r302305, head/contrib/expat/doc/xmlwf.xml)
@@ -0,0 +1,440 @@
+<!DOCTYPE refentry [
+ <!-- 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>March 11, 2016</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 at 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 input file, including character positions.
+ 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>
*** DIFF OUTPUT TRUNCATED AT 1000 LINES ***
More information about the svn-src-stable-9
mailing list