diff --git a/Makefile.PL b/Makefile.PL index dc59cfc..e3ff75d 100644 --- a/Makefile.PL +++ b/Makefile.PL @@ -27,10 +27,6 @@ sub MY::install { package MY; my $script = shift->SUPER::install(@_); - print STDERR "Debian build: won't modify ParserDetails.ini when installing.\n"; - print STDERR " (use update-perl-sax-parsers(8) instead.)\n"; - return $script; - # Only modify existing ParserDetails.ini if user agrees my $write_ini_ok = 0; diff --git a/debian/README.Debian b/debian/README.Debian deleted file mode 100644 index 036ed90..0000000 --- a/debian/README.Debian +++ /dev/null @@ -1,8 +0,0 @@ -libxml-sax-perl for Debian - -Please edit this to provide information specific to -this libxml-sax-perl Debian package. - - (Automatically generated by debmake Version 4.3.1) - - -- sufang Fri, 02 Sep 2022 09:54:32 +0800 diff --git a/debian/changelog b/debian/changelog deleted file mode 100644 index bc23d28..0000000 --- a/debian/changelog +++ /dev/null @@ -1,17 +0,0 @@ -libxml-sax-perl (1.02-ok3) yangtze; urgency=medium - - * Modify debian/control. - - -- sufang Fri, 16 Sep 2022 11:13:35 +0800 - -libxml-sax-perl (1.02-ok2) yangtze; urgency=medium - - * Add parserdetails-debian. - - -- sufang Wed, 14 Sep 2022 14:48:33 +0800 - -libxml-sax-perl (1.02-ok1) yangtze; urgency=medium - - * Build for openkylin. - - -- sufang Thu, 25 Aug 2022 14:54:03 +0800 diff --git a/debian/clean b/debian/clean deleted file mode 100644 index 9c4a553..0000000 --- a/debian/clean +++ /dev/null @@ -1,2 +0,0 @@ -XML-SAX-Base/lib/XML/SAX/*.pm -t/lib/* diff --git a/debian/control b/debian/control deleted file mode 100644 index 6deb050..0000000 --- a/debian/control +++ /dev/null @@ -1,42 +0,0 @@ -Source: libxml-sax-perl -Section: perl -Testsuite: autopkgtest-pkg-perl -Priority: optional -Maintainer: OpenKylin Developers -Build-Depends: debhelper-compat (= 13) -Build-Depends-Indep: libxml-namespacesupport-perl , - libxml-sax-base-perl , - perl -Standards-Version: 4.6.0 -Vcs-Browser: https://gitee.com/openkylin/libxml-sax-perl -Vcs-Git: https://gitee.com/openkylin/libxml-sax-perl.git -Homepage: https://metacpan.org/release/XML-SAX/ -Rules-Requires-Root: no - -Package: libxml-sax-perl -Architecture: all -Depends: ${misc:Depends}, - ${perl:Depends}, - libxml-namespacesupport-perl, - libxml-sax-base-perl, - ucf -Recommends: libwww-perl, - libxml-sax-expat-perl -Description: Perl module for using and building Perl SAX2 XML processors - XML::SAX consists of several framework classes for using and - building Perl SAX2 XML parsers, filters, and drivers. It is designed - around the need to be able to "plug in" different SAX parsers to an - application without requiring programmer intervention. Those of you - familiar with the DBI will be right at home. Some of the designs - come from the Java JAXP specification (SAX part), only without the - javaness. - . - The package also contains a SAX parser, XML::SAX::PurePerl, but it - is considered too slow for serious use and is only provided as a - fallback parser. It is recommend XML::SAX::Expat (provided in - libxml-sax-expat-perl) instead. - . - The framework includes a Debian-specific script (called - update-perl-sax-parsers) to manage the ParserDetails.ini file. This - script is intended to be used in postinst and prerm package scripts to - (de)register parsers. See README.Debian for more info. diff --git a/debian/copyright b/debian/copyright deleted file mode 100644 index b6fa508..0000000 --- a/debian/copyright +++ /dev/null @@ -1,86 +0,0 @@ -Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/ -Upstream-Name: libxml-sax-perl -Source: -# -# Please double check copyright with the licensecheck(1) command. - -Files: Changes - MANIFEST - META.json - META.yml - Makefile.PL - README - lib/XML/SAX.pm - lib/XML/SAX/DocumentLocator.pm - lib/XML/SAX/Intro.pod - lib/XML/SAX/ParserFactory.pm - lib/XML/SAX/PurePerl.pm - lib/XML/SAX/PurePerl/DTDDecls.pm - lib/XML/SAX/PurePerl/DebugHandler.pm - lib/XML/SAX/PurePerl/DocType.pm - lib/XML/SAX/PurePerl/EncodingDetect.pm - lib/XML/SAX/PurePerl/Exception.pm - lib/XML/SAX/PurePerl/NoUnicodeExt.pm - lib/XML/SAX/PurePerl/Productions.pm - lib/XML/SAX/PurePerl/Reader.pm - lib/XML/SAX/PurePerl/Reader/NoUnicodeExt.pm - lib/XML/SAX/PurePerl/Reader/Stream.pm - lib/XML/SAX/PurePerl/Reader/String.pm - lib/XML/SAX/PurePerl/Reader/URI.pm - lib/XML/SAX/PurePerl/Reader/UnicodeExt.pm - lib/XML/SAX/PurePerl/UnicodeExt.pm - lib/XML/SAX/PurePerl/XMLDecl.pm - t/00basic.t - t/01known.t - t/10xmldecl1.t - t/11xmldecl2.t - t/12miscstart.t - t/13int_ent.t - t/14encoding.t - t/15element.t - t/16large.t - t/19pi.t - t/20factory.t - t/21saxini.t - t/30parse_file.t - t/40cdata.t - t/42entities.t - t/99cleanup.t - testfiles/utf-16.xml - testfiles/utf-16le.xml -Copyright: __NO_COPYRIGHT_NOR_LICENSE__ -License: __NO_COPYRIGHT_NOR_LICENSE__ - -#---------------------------------------------------------------------------- -# xml and html files (skipped): -# testfiles/06g.xml -# testfiles/06c.xml -# testfiles/06a.xml -# testfiles/xmltest.xml -# testfiles/koi8_r.xml -# testfiles/06e.xml -# testfiles/06d.xml -# testfiles/03b.xml -# testfiles/iso8859_2.xml -# testfiles/iso8859_1.xml -# testfiles/06b.xml -# testfiles/02a.xml -# testfiles/03a.xml -# testfiles/02b.xml -# testfiles/06f.xml -# testfiles/01.xml -# testfiles/04a.xml - -#---------------------------------------------------------------------------- -# Files marked as NO_LICENSE_TEXT_FOUND may be covered by the following -# license/copyright files. - -#---------------------------------------------------------------------------- -# License file: LICENSE - XML::SAX is dual licensed under the same terms as Perl itself. - . - This means at your choice, either the Perl Artistic License, or - the GNU GPL version 1 or higher. - . - (should we include the full text here?) - . diff --git a/debian/examples/libxml-foo-perl.postinst b/debian/examples/libxml-foo-perl.postinst deleted file mode 100644 index 2737ca8..0000000 --- a/debian/examples/libxml-foo-perl.postinst +++ /dev/null @@ -1,30 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/postinst : postinstallation script for libxml-foo-perl -## ---------------------------------------------------------------------- -## This file is provided as an example for packages providing a -## SAX parser. See /usr/share/doc/libxml-sax-perl/README.Debian.gz . -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -## ---------------------------------------------------------------------- -if [ "$1" = configure ] -then - if [ -n "$2" ] && dpkg --compare-versions "$2" lt x.x-x - then - update-perl-sax-parsers --remove XML::FOO - fi - - update-perl-sax-parsers --add XML::FOO --priority 60 - update-perl-sax-parsers --update -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/examples/libxml-foo-perl.prerm b/debian/examples/libxml-foo-perl.prerm deleted file mode 100644 index 2eb2777..0000000 --- a/debian/examples/libxml-foo-perl.prerm +++ /dev/null @@ -1,25 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/prerm : preremoval script for libxml-foo-perl -## ---------------------------------------------------------------------- -## This file is provided as an example for packages providing a -## SAX parser. See /usr/share/doc/libxml-sax-perl/README.Debian.gz . -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -## ---------------------------------------------------------------------- -if [ "$1" = remove ] -then - update-perl-sax-parsers --remove XML::FOO - update-perl-sax-parsers --update -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/libxml-sax-perl.dirs b/debian/libxml-sax-perl.dirs deleted file mode 100644 index 57d44bd..0000000 --- a/debian/libxml-sax-perl.dirs +++ /dev/null @@ -1 +0,0 @@ -/var/lib/libxml-sax-perl/ParserDetails.d diff --git a/debian/libxml-sax-perl.examples b/debian/libxml-sax-perl.examples deleted file mode 100644 index 55b78ae..0000000 --- a/debian/libxml-sax-perl.examples +++ /dev/null @@ -1 +0,0 @@ -debian/examples/* diff --git a/debian/libxml-sax-perl.install b/debian/libxml-sax-perl.install deleted file mode 100644 index 84f8950..0000000 --- a/debian/libxml-sax-perl.install +++ /dev/null @@ -1 +0,0 @@ -debian/update-perl-sax-parsers usr/bin diff --git a/debian/libxml-sax-perl.links b/debian/libxml-sax-perl.links deleted file mode 100644 index a731fd4..0000000 --- a/debian/libxml-sax-perl.links +++ /dev/null @@ -1 +0,0 @@ -/etc/perl/XML/SAX/ParserDetails.ini /usr/share/perl5/XML/SAX/ParserDetails.ini diff --git a/debian/libxml-sax-perl.manpages b/debian/libxml-sax-perl.manpages deleted file mode 100644 index 7616f23..0000000 --- a/debian/libxml-sax-perl.manpages +++ /dev/null @@ -1 +0,0 @@ -debian/update-perl-sax-parsers.8 diff --git a/debian/patches/series b/debian/patches/series deleted file mode 100644 index 4a97dfa..0000000 --- a/debian/patches/series +++ /dev/null @@ -1 +0,0 @@ -# You must remove unused comment lines for the released package. diff --git a/debian/postinst b/debian/postinst deleted file mode 100644 index 8a548ea..0000000 --- a/debian/postinst +++ /dev/null @@ -1,47 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/postinst : postinstallation script for libxml-sax-perl -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -## ---------------------------------------------------------------------- -if [ "$1" = configure ] -then - [ -d /etc/perl/XML/SAX ] || mkdir --parents /etc/perl/XML/SAX - if command -v ucfr >/dev/null 2>&1 - then - ucfr libxml-sax-perl /etc/perl/XML/SAX/ParserDetails.ini - fi - - if [ -n "$2" ] && dpkg --compare-versions "$2" le 0.16-0.1 - then - echo "Migrating the Perl SAX parser information directory." - # first, move /etc/perl/XML/SAX/ParserDetails.d/ under - # /var/lib/libxml-sax-perl - for i in /etc/perl/XML/SAX/ParserDetails.d/* - do - # the directory should never be missing or empty, but the [ ! -e ] - # construct handles an unexpanded glob just in case - [ ! -e "$i" ] || \ - mv "$i" "/var/lib/libxml-sax-perl/ParserDetails.d/50-$(basename $i)" - done - [ ! -d /etc/perl/XML/SAX/ParserDetails.d ] || \ - rmdir --ignore-fail-on-non-empty /etc/perl/XML/SAX/ParserDetails.d - - # now downgrade XML::SAX::PurePerl priority by removing it first - update-perl-sax-parsers --remove XML::SAX::PurePerl - fi - - update-perl-sax-parsers --add XML::SAX::PurePerl --priority 10 - update-perl-sax-parsers --update -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/postrm b/debian/postrm deleted file mode 100644 index 5fea8f0..0000000 --- a/debian/postrm +++ /dev/null @@ -1,31 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/postrm : postremoval script for libxml-sax-perl -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -## ---------------------------------------------------------------------- -if [ "$1" = purge ] -then - rm -f /etc/perl/XML/SAX/ParserDetails.ini - rmdir --parents --ignore-fail-on-non-empty /etc/perl/XML/SAX - rm -rf /var/lib/libxml-sax-perl - if command -v ucf >/dev/null 2>&1 - then - ucf --purge /etc/perl/XML/SAX/ParserDetails.ini - fi - if command -v ucfr >/dev/null 2>&1 - then - ucfr --purge libxml-sax-perl /etc/perl/XML/SAX/ParserDetails.ini - fi -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/preinst b/debian/preinst deleted file mode 100644 index 61db260..0000000 --- a/debian/preinst +++ /dev/null @@ -1,34 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/preinst : preinstallation script for libxml-sax-perl -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -if [ "$1" = "upgrade" ] && dpkg --compare-versions "$2" le 0.16.0.1 -then - # find out the md5sum of an unmodified ParserDetails.ini - - [ -d /var/lib/libxml-sax-perl ] || mkdir --parents /var/lib/libxml-sax-perl - update-perl-sax-parsers --quiet --update --file - | md5sum - \ - > /var/lib/libxml-sax-perl/ParserDetails.ini.md5sum -fi - -if [ "$1" = "install" ] && [ -n "$2" ] && \ - dpkg --compare-versions "$2" le 0.16.0.1 -then - # upgrading from a removed but nonpurged state - # an unmodified ParserDetails.ini is an empty file - # we don't have update-perl-sax-parsers available yet - [ -d /var/lib/libxml-sax-perl ] || mkdir --parents /var/lib/libxml-sax-perl - md5sum - < /dev/null > /var/lib/libxml-sax-perl/ParserDetails.ini.md5sum -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/prerm b/debian/prerm deleted file mode 100644 index 73e1553..0000000 --- a/debian/prerm +++ /dev/null @@ -1,22 +0,0 @@ -#!/bin/sh -## ---------------------------------------------------------------------- -## debian/prerm : preremoval script for libxml-sax-perl -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -set -e - -## ---------------------------------------------------------------------- -if [ "$1" = remove ] -then - update-perl-sax-parsers --remove XML::SAX::PurePerl - update-perl-sax-parsers --update -fi - -## ---------------------------------------------------------------------- -## automatically generated debhelper commands -#DEBHELPER# - -exit 0 - -## ---------------------------------------------------------------------- diff --git a/debian/rules b/debian/rules deleted file mode 100755 index cbe925d..0000000 --- a/debian/rules +++ /dev/null @@ -1,3 +0,0 @@ -#!/usr/bin/make -f -%: - dh $@ diff --git a/debian/source/format b/debian/source/format deleted file mode 100644 index 89ae9db..0000000 --- a/debian/source/format +++ /dev/null @@ -1 +0,0 @@ -3.0 (native) diff --git a/debian/tests/pkg-perl/smoke-files b/debian/tests/pkg-perl/smoke-files deleted file mode 100644 index 9b1be3f..0000000 --- a/debian/tests/pkg-perl/smoke-files +++ /dev/null @@ -1,2 +0,0 @@ -t/ -testfiles/ diff --git a/debian/tests/pkg-perl/smoke-skip b/debian/tests/pkg-perl/smoke-skip deleted file mode 100644 index 3047f9f..0000000 --- a/debian/tests/pkg-perl/smoke-skip +++ /dev/null @@ -1,3 +0,0 @@ -# these tests expect no ParserDetails.ini -t/20factory.t -t/21saxini.t diff --git a/debian/update-perl-sax-parsers b/debian/update-perl-sax-parsers deleted file mode 100644 index 4c60405..0000000 --- a/debian/update-perl-sax-parsers +++ /dev/null @@ -1,191 +0,0 @@ -#!/usr/bin/perl -## ---------------------------------------------------------------------- -## Debian update-perl-sax-parsers version 0.3 -## ---------------------------------------------------------------------- -## Copyright (C) 2001-2003 Ardo van Rangelrooij -## Copyright (C) 2007 Niko Tyni -## -## This is free software; see the GNU General Public Licence version 2 -## or later for copying conditions. There is NO warranty. -## ---------------------------------------------------------------------- - -## ---------------------------------------------------------------------- -use strict; - -## ---------------------------------------------------------------------- -use File::Spec; -use Getopt::Long; -use XML::SAX; -use XML::SAX::Debian; -use File::Temp qw(tempfile); - -## ---------------------------------------------------------------------- -$0 =~ m|[^/]+$|; - -## ---------------------------------------------------------------------- -my $name = $&; - -## ---------------------------------------------------------------------- -my $add = ''; -my @directory = (); -my $file = ''; -my $help = ''; -my $quiet = ''; -my $remove = ''; -my $test = ''; -my $update = ''; -my $version = ''; -my $ucf; -my $priority; - -## ---------------------------------------------------------------------- -if ( ! GetOptions( - 'add=s' => \$add, - 'directory=s' => \@directory, - 'file=s' => \$file, - 'help' => \$help, - 'quiet' => \$quiet, - 'remove=s' => \$remove, - 'test' => \$test, - 'update' => \$update, - 'version' => \$version, - 'priority=i' => \$priority, - 'ucf=i' => \$ucf, - ) - ) -{ - &usage; - exit 1; -} - - -## ---------------------------------------------------------------------- -if ( $version ) -{ - &version; - exit 0; -} - -## ---------------------------------------------------------------------- -if ( $help ) -{ - &usage; - exit 0; -} - -## ---------------------------------------------------------------------- -print STDERR "$name: test mode - Perl SAX parsers file will not be updated\n" - if $test && ! $quiet; - -## ---------------------------------------------------------------------- -# default priority is 50 unless --directory was specified -# with --directory, default to 0 (no priority in the filenames) -$priority = (@directory ? 0 : 50) if not defined $priority; - -## ---------------------------------------------------------------------- -my $PARSER_DETAILS_DIR = "/var/lib/libxml-sax-perl/ParserDetails.d"; -push( @directory, $PARSER_DETAILS_DIR) if ! @directory; - -## ---------------------------------------------------------------------- -# use ucf by default if --file is not specified -$ucf = ($file ? 0 : 1) if not defined $ucf; - -## ---------------------------------------------------------------------- -my $PARSER_DETAILS_FILE = "/etc/perl/XML/SAX/ParserDetails.ini"; -$file = $PARSER_DETAILS_FILE if ! $file; - -## ---------------------------------------------------------------------- -unless (XML::SAX->can("_is_vendor_supplied")) { - print STDERR "$name: Non-vendor version of XML::SAX is installed.\n"; - print STDERR "$name: Automatic registration of SAX parsers might not work.\n"; -} - -if ( $add ) -{ - print "$name: Registering Perl SAX parser $add with priority $priority...\n" - unless $quiet; - - XML::SAX::Debian->save_parsers_debian( $add, $directory[0], $priority ); -} -elsif ( $remove ) -{ - print "$name: Unregistering Perl SAX parser $remove with priority $priority...\n" - unless $quiet; - - my $parser_file = $remove; - $parser_file = "${priority}-$parser_file" if $priority != 0; - $parser_file = File::Spec->catfile( $directory[0], $parser_file ); - unlink( $parser_file ); -} -elsif ( $update ) -{ - print "$name: Updating overall Perl SAX parser modules info file...\n" - unless $quiet; - - my ($handle, $tmpfile); - - if ($ucf) { - ($handle, $tmpfile) = tempfile(); - chmod 0644, $tmpfile or die("chmod $tmpfile: $!"); - } else { - open( $handle, ">$file" ) - || die "Cannot write to $file: $!"; - } - foreach my $directory ( @directory) - { - opendir( PARSER_DETAILS_DIR, $directory ) - || die "Cannot access $directory: $!"; - my @files = sort readdir ( PARSER_DETAILS_DIR ); - for my $parser_details ( @files ) - { - next if $parser_details =~ /^\.\.?$/; # skip . and .. - open( PARSER_DETAILS, "$directory/$parser_details" ) - || die "Cannot read from $parser_details: $!"; - while ( ) { print $handle $_; } - close( PARSER_DETAILS ); - } - closedir( PARSER_DETAILS_DIR ); - } - close( $handle ); - if ($ucf) { - system("ucf", "--debconf-ok", "--sum-file", "/var/lib/libxml-sax-perl/ParserDetails.ini.md5sum", $tmpfile, $file); - unlink $tmpfile or die("unlink $tmpfile: $!"); - } -} - -## ---------------------------------------------------------------------- -exit 0; - -## ---------------------------------------------------------------------- -sub usage -{ - print STDERR < --add - $name --remove - $name --update - -Options: - --directory Perl SAX parser module info file directory to be used - as target for 'add'/'remove' or as sources for 'update' - (default = '/var/lib/libxml-sax-perl/ParserDetails.d') - --priority The priority of the parser to add. The parser with the - highest priority is the default parser. - --file Perl SAX parser module info file to be updated - (default = '/etc/perl/XML/SAX/ParserDetails.ini') - --ucf X Forcibly disable (X == 0) or enable (X != 0) the use - of ucf with '--update'. - --help display this help text (usage) - --quiet be quiet - --test do not modify any files, enable debugging mode - --version display version number -END -} - -## ---------------------------------------------------------------------- -sub version -{ - print "Debian $name version 0.4\n"; -} - -## ---------------------------------------------------------------------- diff --git a/debian/update-perl-sax-parsers.8 b/debian/update-perl-sax-parsers.8 deleted file mode 100644 index e99d253..0000000 --- a/debian/update-perl-sax-parsers.8 +++ /dev/null @@ -1,177 +0,0 @@ -.\" -*- nroff -*- -.\" ---------------------------------------------------------------------- -.\" Copyright (c) 2001-2003 Ardo van Rangelrooij -.\" -.\" This is free software; see the GNU General Public Licence version 2 -.\" or later for copying conditions. There is NO warranty. -.\" ---------------------------------------------------------------------- -.\" -.\" ---------------------------------------------------------------------- -.TH UPDATE-PERL-SAX-PARSERS 8 "Nov 2007" "0.3" "Debian" -.\" -.\" ---------------------------------------------------------------------- -.SH NAME -update-perl-sax-parsers \- (de)register Perl SAX parser modules -.\" -.\" ---------------------------------------------------------------------- -.SH SYNOPSIS -.B update-perl-sax-parsers -.RI [ options ] -.B --add -.I parser_module -.PP -.B update-perl-sax-parsers -.RI [ options ] -.B --remove -.I parser_module -.PP -.B update-perl-sax-parsers -.RI [ options ] -.B --update -.\" -.\" ---------------------------------------------------------------------- -.SH DESCRIPTION -.B update-perl-sax-parsers -inserts, updates and removes individual Perl SAX parser module info -files in the directory -.I /var/lib/libxml-sax-perl/ParserDetails.d -and the overall Perl SAX parser modules info file -.IR /etc/perl/XML/SAX/ParserDetails.ini . -.\" -.\" ---------------------------------------------------------------------- -.SH OPTIONS -.TP -.B --add -Adds the per-module info file for the indicated Perl SAX parser module -to the directory -.IR /var/lib/libxml-sax-perl/ParserDetails.d . -.TP -.B --remove -Removes the per-module info file for Perl SAX parser module from the -directory -.IR /var/lib/libxml-sax-perl/ParserDetails.d . -.TP -.B --update -updates the overall Perl SAX parser modules info file -.IR /etc/perl/XML/SAX/ParserDetails.ini . -The modules will be listed in an order of ascending priority. See -the PARSER PRIORITIES section below. - -The file will be managed with -.B ucf(1) , -unless the -.B --file -option is used. See also the -.B --ucf -option below. -.TP -.B --directory -When used with -.B --add -or with -.B --remove -indicates the ParserDetails.d directory to use for storing the -per-module Perl SAX parser module info file. When used one or more -times with -.B --update -indicates the ParserDetails.d directories to be used as source for -generating the ParserDetails.ini file. Default is -.IR /var/lib/libxml-sax-perl/ParserDetails.d . -.TP -.B --file -Indicates the ParserDetails.ini file up be updated. Default is -.IR /etc/perl/XML/SAX/ParserDetails.ini . -.TP -.B --priority XX -Specifies the priority of the SAX parser module to be added -removed. The priority will be encoded -to the filename of the ParserDetails.d entry. See the PARSER PRIORITIES -section below. - -This option was added in version 0.3 of -.B update-perl-sax-parsers . -Use the value "0" to disable the encoding and match the behaviour -of earlier versions of the script. - -The default priority value is 50, unless -.B --directory -was specified, in which case the default is 0 (disabled.) -.TP -.B --ucf X -Forcibly enable (X != 0) or disable (X = 0) of -.B ucf(1) . -By default, -.B ucf(1) -will be used to manage the ParserDetails.ini file when -.B --file -is -.IR not -specified. -.TP -.B --quiet -Prevents any diagnostic output. -.TP -.B --test -Prevents the modification of any files and enables debugging mode. -.TP -.B --version -Displays the version information and exits. -.TP -.B --help -Display the usage information and exits. -.\" -.\" ---------------------------------------------------------------------- -.SH PARSER PRIORITIES -Starting with version 0.3 of -.B update-perl-sax-parsers , -the parsers are assigned a priority value that is encoded into the names -of the files in the ParserDetails.d directory. Specifically, the file -name will be "XX-Some::Module", where XX denotes the priority and Some::Module -is the name of the parser module. - -When -.B --update -is called, the parsers are listed in an order of ascending priority -into the -.IR ParserDetails.ini -file. The last parser in the file, ie. the one with the highest priority, -is the -.B default -XML::SAX parser. - -Parsers with the same priority are sorted alphabetically by their name. -This is contrary to the behaviour of earlier versions, where the -sort order was undefined and depended on the underlying file system. -.\" -.\" ---------------------------------------------------------------------- -.SH NOTE -Installing the original package from CPAN into /usr/local breaks the -Debian package, since the former is in Perl's @INC before the latter. -So, please don't do this. - -If there's a new version of XML::SAX simply file a wishlist against -the Debian package and wait for the update. -.\" -.\" ---------------------------------------------------------------------- -.SH "SEE ALSO" -.TP -/usr/share/doc/libxml-sax-perl/README.Debian -.\" -.\" ---------------------------------------------------------------------- -.SH AUTHORS -Ardo van Rangelrooij - -Niko Tyni -.\" -.\" ---------------------------------------------------------------------- -.SH COPYRIGHT -Copyright \(co 2001-2003 Ardo van Rangelrooij - -Copyright \(co 2007 Niko Tyni -.PP -This is free software; see the GNU General Public Licence version 2 or -later for copying conditions. There is -.I no -warranty. -.\" -.\" ---------------------------------------------------------------------- diff --git a/debian/upstream/metadata b/debian/upstream/metadata deleted file mode 100644 index ea99c9e..0000000 --- a/debian/upstream/metadata +++ /dev/null @@ -1,4 +0,0 @@ ---- -Archive: CPAN -Repository: https://github.com/grantm/xml-sax.git -Repository-Browse: https://github.com/grantm/xml-sax diff --git a/debian/watch b/debian/watch deleted file mode 100644 index 75ddf16..0000000 --- a/debian/watch +++ /dev/null @@ -1,3 +0,0 @@ -version=4 -opts=dversionmangle=s/\+dfsg//,repacksuffix=+dfsg \ -https://metacpan.org/release/XML-SAX .*/XML-SAX-v?@ANY_VERSION@@ARCHIVE_EXT@$ diff --git a/lib/XML/SAX.pm b/lib/XML/SAX.pm index 5297a2b..7cd93d2 100644 --- a/lib/XML/SAX.pm +++ b/lib/XML/SAX.pm @@ -179,15 +179,6 @@ sub add_parser { sub save_parsers { my $class = shift; - ### DEBIAN MODIFICATION - print "\n"; - print "Please use 'update-perl-sax-parsers(8) to register this parser.'\n"; - print "See /usr/share/doc/libxml-sax-perl/README.Debian.gz for more info.\n"; - print "\n"; - - return $class; # rest of the function is disabled on Debian. - ### END DEBIAN MODIFICATION - # get directory from wherever XML::SAX is installed my $dir = $INC{'XML/SAX.pm'}; $dir = dirname($dir); @@ -221,10 +212,6 @@ sub do_warn { warn(@_) unless $ENV{HARNESS_ACTIVE}; } -sub _is_vendor_supplied { - 1; -} - 1; __END__ diff --git a/lib/XML/SAX/Debian.pm b/lib/XML/SAX/Debian.pm deleted file mode 100644 index e767c73..0000000 --- a/lib/XML/SAX/Debian.pm +++ /dev/null @@ -1,47 +0,0 @@ -package XML::SAX::Debian; - -use strict; -use warnings; - -use base "XML::SAX"; - -use File::Spec (); - -sub save_parsers_debian { - my $class = shift; - my ($parser_module,$directory, $priority) = @_; - - # add parser - { - # We do not want load_parsers to complain. - local $ENV{HARNESS_ACTIVE} = 1; - $class->load_parsers("/nonexistent"); - } - $class->add_parser($parser_module); - - # get parser's ParserDetails file - my $file = $parser_module; - $file = "${priority}-$file" if $priority != 0; - $file = File::Spec->catfile($directory, $file); - chmod 0644, $file; - unlink($file); - - open(my $fh, ">$file") || - die "Cannot write to $file: $!"; - - foreach my $p (@{ $class->parsers }) { - print $fh "[$p->{Name}]\n"; - foreach my $key (keys %{$p->{Features}}) { - print $fh "$key = $p->{Features}{$key}\n"; - } - print $fh "\n"; - } - - print $fh "\n"; - - close $fh; - - return $class; -} - -1; diff --git a/t/01known.t b/t/01known.t index a9e2536..a2db4f1 100644 --- a/t/01known.t +++ b/t/01known.t @@ -1,9 +1,6 @@ -use Test::More; +use Test; BEGIN { plan tests => 3 } -SKIP: { -skip 'Tests skipped due to Debian modifications', 3; use XML::SAX; ok(XML::SAX->save_parsers); ok(XML::SAX->load_parsers); ok(@{XML::SAX->parsers}, 0); -} diff --git a/t/99cleanup.t b/t/99cleanup.t index 72f8438..32e196c 100644 --- a/t/99cleanup.t +++ b/t/99cleanup.t @@ -1,7 +1,7 @@ use Test; BEGIN { plan tests => 1 } use File::Spec; -skip('Test skipped due to Debian modifications', unlink( +ok(unlink( File::Spec->catdir(qw(blib lib XML SAX ParserDetails.ini))), 1, 'delete ParserDetails.ini' diff --git a/testfiles/xmltest.xml b/testfiles/xmltest.xml deleted file mode 100644 index 4facc3a..0000000 --- a/testfiles/xmltest.xml +++ /dev/null @@ -1,1443 +0,0 @@ - - - - - - - - Attribute values must start with attribute names, not "?". - - Names may not start with "."; it's not a Letter. - - Processing Instruction target name is required. - - SGML-ism: processing instructions end in '?>' not '>'. - - Processing instructions end in '?>' not '?'. - - XML comments may not contain "--" - - General entity references have no whitespace after the - entity name and before the semicolon. - - Entity references must include names, which don't begin - with '.' (it's not a Letter or other name start character). - - Character references may have only decimal or numeric strings. - - Ampersand may only appear as part of a general entity reference. - - SGML-ism: attribute values must be explicitly assigned a - value, it can't act as a boolean toggle. - - SGML-ism: attribute values must be quoted in all cases. - - The quotes on both ends of an attribute value must match. - - Attribute values may not contain literal '<' characters. - - Attribute values need a value, not just an equals sign. - - Attribute values need an associated name. - - CDATA sections need a terminating ']]>'. - - CDATA sections begin with a literal '<![CDATA[', no space. - - End tags may not be abbreviated as '</>'. - - Attribute values may not contain literal '&' - characters except as part of an entity reference. - - Attribute values may not contain literal '&' - characters except as part of an entity reference. - - Character references end with semicolons, always! - - Digits are not valid name start characters. - - Digits are not valid name start characters. - - Text may not contain a literal ']]>' sequence. - - Text may not contain a literal ']]>' sequence. - - Comments must be terminated with "-->". - - Processing instructions must end with '?>'. - - Text may not contain a literal ']]>' sequence. - - A form feed is not a legal XML character. - - A form feed is not a legal XML character. - - A form feed is not a legal XML character. - - An ESC (octal 033) is not a legal XML character. - - A form feed is not a legal XML character. - - The '<' character is a markup delimiter and must - start an element, CDATA section, PI, or comment. - - Text may not appear after the root element. - - Character references may not appear after the root element. - - Tests the "Unique Att Spec" WF constraint by providing - multiple values for an attribute. - - Tests the Element Type Match WFC - end tag name must - match start tag name. - - Provides two document elements. - - Provides two document elements. - - Invalid End Tag - - Provides #PCDATA text after the document element. - - Provides two document elements. - - Invalid Empty Element Tag - - This start (or empty element) tag was not terminated correctly. - - Invalid empty element tag invalid whitespace - - Provides a CDATA section after the roor element. - - Missing start tag - - Empty document, with no root element. - - CDATA is invalid at top level of document. - - Invalid character reference. - - End tag does not match start tag. - - PUBLIC requires two literals. - - Invalid Document Type Definition format. - - Invalid Document Type Definition format - misplaced comment. - - This isn't SGML; comments can't exist in declarations. - - Invalid character , in ATTLIST enumeration - - String literal must be in quotes. - - Invalid type NAME defined in ATTLIST. - - External entity declarations require whitespace between public - and system IDs. - - Entity declarations need space after the entity name. - - Conditional sections may only appear in the external - DTD subset. - - Space is required between attribute type and default values - in <!ATTLIST...> declarations. - - Space is required between attribute name and type - in <!ATTLIST...> declarations. - - Required whitespace is missing. - - Space is required between attribute type and default values - in <!ATTLIST...> declarations. - - Space is required between NOTATION keyword and list of - enumerated choices in <!ATTLIST...> declarations. - - Space is required before an NDATA entity annotation. - - XML comments may not contain "--" - - ENTITY can't reference itself directly or indirectly. - - Undefined ENTITY foo. - - Undefined ENTITY f. - - Internal general parsed entities are only well formed if - they match the "content" production. - - ENTITY can't reference itself directly or indirectly. - - Undefined ENTITY foo. - - Undefined ENTITY bar. - - Undefined ENTITY foo. - - ENTITY can't reference itself directly or indirectly. - - ENTITY can't reference itself directly or indirectly. - - This tests the No External Entity References WFC, - since the entity is referred to within an attribute. - - This tests the No External Entity References WFC, - since the entity is referred to within an attribute. - - Undefined NOTATION n. - - Tests the Parsed Entity WFC by referring to an - unparsed entity. (This precedes the error of not declaring - that entity's notation, which may be detected any time before - the DTD parsing is completed.) - - Public IDs may not contain "[". - - Public IDs may not contain "[". - - Public IDs may not contain "[". - - Attribute values are terminated by literal quote characters, - and any entity expansion is done afterwards. - - Parameter entities "are" always parsed; NDATA annotations - are not permitted. - - Attributes may not contain a literal "<" character; - this one has one because of reference expansion. - - Parameter entities "are" always parsed; NDATA annotations - are not permitted. - - The replacement text of this entity has an illegal reference, - because the character reference is expanded immediately. - - Hexadecimal character references may not use the uppercase 'X'. - - Prolog VERSION must be lowercase. - - VersionInfo must come before EncodingDecl. - - Space is required before the standalone declaration. - - Both quotes surrounding VersionNum must be the same. - - Only one "version=..." string may appear in an XML declaration. - - Only three pseudo-attributes are in the XML declaration, - and "valid=..." is not one of them. - - Only "yes" and "no" are permitted as values of "standalone". - - Space is not permitted in an encoding name. - - Provides an illegal XML version number; spaces are illegal. - - End-tag required for element foo. - - Internal general parsed entities are only well formed if - they match the "content" production. - - Invalid placement of CDATA section. - - Invalid placement of entity declaration. - - Invalid document type declaration. CDATA alone is invalid. - - No space in '<![CDATA['. - - Tags invalid within EntityDecl. - - Entity reference must be in content of element. - - Entiry reference must be in content of element not Start-tag. - - CDATA sections start '<![CDATA[', not '<!cdata['. - - Parameter entity values must use valid reference syntax; - this reference is malformed. - - General entity values must use valid reference syntax; - this reference is malformed. - - The replacement text of this entity is an illegal character - reference, which must be rejected when it is parsed in the - context of an attribute value. - - Internal general parsed entities are only well formed if - they match the "content" production. This is a partial - character reference, not a full one. - - Internal general parsed entities are only well formed if - they match the "content" production. This is a partial - character reference, not a full one. - - Entity reference expansion is not recursive. - - Internal general parsed entities are only well formed if - they match the "content" production. This is a partial - character reference, not a full one. - - Character references are expanded in the replacement text of - an internal entity, which is then parsed as usual. Accordingly, - & must be doubly quoted - encoded either as &amp; - or as &#38;#38;. - - A name of an ENTITY was started with an invalid character. - - Invalid syntax mixed connectors are used. - - Invalid syntax mismatched parenthesis. - - Invalid format of Mixed-content declaration. - - Invalid syntax extra set of parenthesis not necessary. - - Invalid syntax Mixed-content must be defined as zero or more. - - Invalid syntax Mixed-content must be defined as zero or more. - - Invalid CDATA syntax. - - Invalid syntax for Element Type Declaration. - - Invalid syntax for Element Type Declaration. - - Invalid syntax for Element Type Declaration. - - Invalid syntax mixed connectors used. - - Illegal whitespace before optional character causes syntax error. - - Illegal whitespace before optional character causes syntax error. - - Invalid character used as connector. - - Tag omission is invalid in XML. - - Space is required before a content model. - - Invalid syntax for content particle. - - The element-content model should not be empty. - - Character '&#x309a;' is a CombiningChar, not a - Letter, and so may not begin a name. - - Character #x0E5C is not legal in XML names. - - Character #x0000 is not legal anywhere in an XML document. - - Character #x001F is not legal anywhere in an XML document. - - Character #xFFFF is not legal anywhere in an XML document. - - Character #xD800 is not legal anywhere in an XML document. (If it - appeared in a UTF-16 surrogate pair, it'd represent half of a UCS-4 - character and so wouldn't really be in the document.) - - Character references must also refer to legal XML characters; - #x00110000 is one more than the largest legal character. - - XML Declaration may not be preceded by whitespace. - - XML Declaration may not be preceded by comments or whitespace. - - XML Declaration may not be within a DTD. - - XML declarations may not be within element content. - - XML declarations may not follow document content. - - XML declarations must include the "version=..." string. - - Text declarations may not begin internal parsed entities; - they may only appear at the beginning of external parsed - (parameter or general) entities. - - '<?XML ...?>' is neither an XML declaration - nor a legal processing instruction target name. - - '<?xmL ...?>' is neither an XML declaration - nor a legal processing instruction target name. - - '<?xMl ...?>' is neither an XML declaration - nor a legal processing instruction target name. - - '<?xmL ...?>' is not a legal processing instruction - target name. - - SGML-ism: "#NOTATION gif" can't have attributes. - - Uses '&' unquoted in an entity declaration, - which is illegal syntax for an entity reference. - - Violates the PEs in Internal Subset WFC - by using a PE reference within a declaration. - - Violates the PEs in Internal Subset WFC - by using a PE reference within a declaration. - - Violates the PEs in Internal Subset WFC - by using a PE reference within a declaration. - - Invalid placement of Parameter entity reference. - - Invalid placement of Parameter entity reference. - - Parameter entity declarations must have a space before - the '%'. - - Character FFFF is not legal anywhere in an XML document. - - Character FFFE is not legal anywhere in an XML document. - - An unpaired surrogate (D800) is not legal anywhere - in an XML document. - - An unpaired surrogate (DC00) is not legal anywhere - in an XML document. - - Four byte UTF-8 encodings can encode UCS-4 characters - which are beyond the range of legal XML characters - (and can't be expressed in Unicode surrogate pairs). - This document holds such a character. - - Character FFFF is not legal anywhere in an XML document. - - Character FFFF is not legal anywhere in an XML document. - - Character FFFF is not legal anywhere in an XML document. - - Character FFFF is not legal anywhere in an XML document. - - Character FFFF is not legal anywhere in an XML document. - - Start tags must have matching end tags. - - Character FFFF is not legal anywhere in an XML document. - - Invalid syntax matching double quote is missing. - - Invalid syntax matching double quote is missing. - - The Entity Declared WFC requires entities to be declared - before they are used in an attribute list declaration. - - Internal parsed entities must match the content - production to be well formed. - - Internal parsed entities must match the content - production to be well formed. - - Mixed content declarations may not include content particles. - - In mixed content models, element names must not be - parenthesized. - - Tests the Entity Declared WFC. - Note: a nonvalidating parser is permitted not to report - this WFC violation, since it would need to read an external - parameter entity to distinguish it from a violation of - the Standalone Declaration VC. - - Whitespace is required between attribute/value pairs. - - - - Conditional sections must be properly terminated ("]>" used - instead of "]]>"). - - Processing instruction target names may not be "XML" - in any combination of cases. - - Conditional sections must be properly terminated ("]]>" omitted). - - Conditional sections must be properly terminated ("]]>" omitted). - - Tests the Entity Declared VC by referring to an - undefined parameter entity within an external entity. - - Conditional sections need a '[' after the INCLUDE or IGNORE. - - A <!DOCTYPE ...> declaration may not begin any external - entity; it's only found once, in the document entity. - - In DTDs, the '%' character must be part of a parameter - entity reference. - - - - - Tests the No Recursion WFC by having an external general - entity be self-recursive. - - External entities have "text declarations", which do - not permit the "standalone=..." attribute that's allowed - in XML declarations. - - Only one text declaration is permitted; a second one - looks like an illegal processing instruction (target names - of "xml" in any case are not allowed). - - - - - Tests the "Proper Declaration/PE Nesting" validity constraint by - fragmenting a comment between two parameter entities. - - Tests the "Proper Group/PE Nesting" validity constraint by - fragmenting a content model between two parameter entities. - - Tests the "Proper Declaration/PE Nesting" validity constraint by - fragmenting an element declaration between two parameter entities. - - Tests the "Proper Declaration/PE Nesting" validity constraint by - fragmenting an element declaration between three parameter entities. - - Tests the "Proper Declaration/PE Nesting" validity constraint by - fragmenting an element declaration between two parameter entities. - - Tests the "Proper Declaration/PE Nesting" validity constraint by - fragmenting an element declaration between two parameter entities. - - - - - Test demonstrates an Element Type Declaration with Mixed Content. - - Test demonstrates that whitespace is permitted after the tag name in a Start-tag. - - Test demonstrates that whitespace is permitted after the tag name in an End-tag. - - Test demonstrates a valid attribute specification within a Start-tag. - - Test demonstrates a valid attribute specification within a Start-tag that -contains whitespace on both sides of the equal sign. - - Test demonstrates that the AttValue within a Start-tag can use a single quote as a delimter. - - Test demonstrates numeric character references can be used for element content. - - Test demonstrates character references can be used for element content. - - Test demonstrates that PubidChar can be used for element content. - - Test demonstrates that whitespace is valid after the Attribute in a Start-tag. - - Test demonstrates mutliple Attibutes within the Start-tag. - - Uses a legal XML 1.0 name consisting of a single colon - character (disallowed by the latest XML Namespaces draft). - - Test demonstrates that the Attribute in a Start-tag can consist of numerals along with special characters. - - Test demonstrates that all lower case letters are valid for the Attribute in a Start-tag. - - Test demonstrates that all upper case letters are valid for the Attribute in a Start-tag. - - Test demonstrates that Processing Instructions are valid element content. - - Test demonstrates that Processing Instructions are valid element content and there can be more than one. - - Test demonstrates that CDATA sections are valid element content. - - Test demonstrates that CDATA sections are valid element content and that -ampersands may occur in their literal form. - - Test demonstractes that CDATA sections are valid element content and that -everyting between the CDStart and CDEnd is recognized as character data not markup. - - Test demonstrates that comments are valid element content. - - Test demonstrates that comments are valid element content and that all characters before the double-hypen right angle combination are considered part of thecomment. - - Test demonstrates that Entity References are valid element content. - - Test demonstrates that Entity References are valid element content and also demonstrates a valid Entity Declaration. - - Test demonstrates an Element Type Declaration and that the contentspec can be of mixed content. - - Test demonstrates an Element Type Declaration and that EMPTY is a valid contentspec. - - Test demonstrates an Element Type Declaration and that ANY is a valid contenspec. - - Test demonstrates a valid prolog that uses double quotes as delimeters around the VersionNum. - - Test demonstrates a valid prolog that uses single quotes as delimters around the VersionNum. - - Test demonstrates a valid prolog that contains whitespace on both sides of the equal sign in the VersionInfo. - - Test demonstrates a valid EncodingDecl within the prolog. - - Test demonstrates a valid SDDecl within the prolog. - - Test demonstrates that both a EncodingDecl and SDDecl are valid within the prolog. - - Test demonstrates the correct syntax for an Empty element tag. - - Test demonstrates that whitespace is permissible after the name in an Empty element tag. - - Test demonstrates a valid processing instruction. - - Test demonstrates a valid comment and that it may appear anywhere in the document including at the end. - - Test demonstrates a valid comment and that it may appear anywhere in the document including the beginning. - - Test demonstrates a valid processing instruction and that it may appear at the beginning of the document. - - Test demonstrates an Attribute List declaration that uses a StringType as the AttType. - - Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. - - Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. - - An element's attributes may be declared before its content - model; and attribute values may contain newlines. - - Test demonstrates that the empty-element tag must be use for an elements that are declared EMPTY. - - Tests whether more than one definition can be provided for the same attribute of a given element type with the first declaration being binding. - - Test demonstrates that when more than one AttlistDecl is provided for a given element type, the contents of all those provided are merged. - - Test demonstrates that extra whitespace is normalized into single space character. - - Test demonstrates that character data is valid element content. - - Test demonstrates that characters outside of normal ascii range can be used as element content. - - Test demonstrates that characters outside of normal ascii range can be used as element content. - - The document is encoded in UTF-16 and uses some name - characters well outside of the normal ASCII range. - - - The document is encoded in UTF-8 and the text inside the - root element uses two non-ASCII characters, encoded in UTF-8 - and each of which expands to a Unicode surrogate pair. - - Tests inclusion of a well-formed internal entity, which - holds an element required by the content model. - - Test demonstrates that extra whitespace within Start-tags and End-tags are nomalized into single spaces. - - Test demonstrates that extra whitespace within a processing instruction willnormalized into s single space character. - - Test demonstrates an Attribute List declaration that uses a StringType as the AttType and also expands the CDATA attribute with a character reference. The test also shows that the leading zeros in the character reference are ignored. - - Test demonstrates an element content model whose element can occur zero or more times. - - Test demonstrates that extra whitespace be normalized into a single space character in an attribute of type NMTOKENS. - - Test demonstrates an Element Type Declaration that uses the contentspec of EMPTY. The element cannot have any contents and must always appear as an empty element in the document. The test also shows an Attribute-list declaration with multiple AttDef's. - - Test demonstrates the use of decimal Character References within element content. - - Test demonstrates the use of decimal Character References within element content. - - Test demonstrates the use of hexadecimal Character References within element. - - The document is encoded in UTF-8 and the name of the - root element type uses non-ASCII characters. - - Tests in-line handling of two legal character references, which - each expand to a Unicode surrogate pair. - - Tests ability to define an internal entity which can't - legally be expanded (contains an unquoted <). - - Expands a CDATA attribute with a character reference. - - Test demonstrates the use of decimal character references within element content. - - Tests definition of an entity holding a carriage return character - reference, which must be normalized to a newline before being - reported to the application. - - - Verifies that an XML parser will parse a NOTATION - declaration; the output phase of this test ensures that - it's reported to the application. - - Verifies that internal parameter entities are correctly - expanded within the internal subset. - - Test demonstrates that an AttlistDecl can use ID as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use IDREF as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use IDREFS as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use ENTITY as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use ENTITIES as the TokenizedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - - Verifies that an XML parser will parse a NOTATION - attribute; the output phase of this test ensures that - both notations are reported to the application. - - Test demonstrates that an AttlistDecl can use an EnumeratedType within the Attribute type. The test also shows that IMPLIED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that REQUIRED is a valid DefaultDecl. - - Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that a value can be given to the attribute in the Start-tag as well as the AttListDecl. - - Test demonstrates that an AttlistDecl can use an StringType of CDATA within the Attribute type. The test also shows that FIXED is a valid DefaultDecl and that an value can be given to the attribute. - - Test demonstrates the use of the optional character following a name or list to govern the number of times an element or content particles in the list occur. - - Tests that an external PE may be defined (but not referenced). - - Tests that an external PE may be defined (but not referenced). - - Test demonstrates that although whitespace can be used to set apart markup for greater readability it is not necessary. - - Parameter and General entities use different namespaces, - so there can be an entity of each type with a given name. - - Tests whether entities may be declared more than once, - with the first declaration being the binding one. - - Tests whether character references in internal entities are - expanded early enough, by relying on correct handling to - make the entity be well formed. - - Tests whether entity references in internal entities are - expanded late enough, by relying on correct handling to - make the expanded text be valid. (If it's expanded too - early, the entity will parse as an element that's not - valid in that context.) - - Tests entity expansion of three legal character references, - which each expand to a Unicode surrogate pair. - - - Verifies that an XML parser will parse a NOTATION - attribute; the output phase of this test ensures that - the notation is reported to the application. - - - Verifies that an XML parser will parse an ENTITY - attribute; the output phase of this test ensures that - the notation is reported to the application, and for - validating parsers it further tests that the entity - is so reported. - - Test demostrates that extra whitespace is normalized into a single space character. - - Test demonstrates that extra whitespace is not intended for inclusion in the delivered version of the document. - - - This refers to an undefined parameter entity reference within - a markup declaration in the internal DTD subset, violating - the PEs in Internal Subset WFC. - - Basically an output test, this requires extra whitespace - to be normalized into a single space character in an - attribute of type NMTOKENS. - - Test demonstrates that extra whitespace is normalized into a single space character in an attribute of type NMTOKENS. - - Basically an output test, this tests whether an externally - defined attribute declaration (with a default) takes proper - precedence over a subsequent internal declaration. - - Test demonstrates that extra whitespace within a processing instruction is converted into a single space character. - - Test demonstrates the name of the encoding can be composed of lowercase characters. - - Makes sure that PUBLIC identifiers may have some strange - characters. NOTE: The XML editors have said that the XML - specification errata will specify that parameter entity expansion - does not occur in PUBLIC identifiers, so that the '%' character - will not flag a malformed parameter entity reference. - - This tests whether entity expansion is (incorrectly) done - while processing entity declarations; if it is, the entity - value literal will terminate prematurely. - - Test demonstrates that a CDATA attribute can pass a double quote as its value. - - Test demonstrates that an attribute can pass a less than sign as its value. - - Test demonstrates that extra whitespace within an Attribute of a Start-tag is normalized to a single space character. - - Basically an output test, this requires a CDATA attribute - with a tab character to be passed through as one space. - - Basically an output test, this requires a CDATA attribute - with a newline character to be passed through as one space. - - Basically an output test, this requires a CDATA attribute - with a return character to be passed through as one space. - - This tests normalization of end-of-line characters (CRLF) - within entities to LF, primarily as an output test. - - Test demonstrates that an attribute can have a null value. - - Basically an output test, this requires that a CDATA - attribute with a CRLF be normalized to one space. - - Character references expanding to spaces doesn't affect - treatment of attributes. - - Test demonstrates shows the use of content particles within the element content. - - Test demonstrates that it is not an error to have attributes declared for an element not itself declared. - - Test demonstrates that all text within a valid CDATA section is considered text and not recognized as markup. - - Test demonstrates that an entity reference is processed by recursively processing the replacement text of the entity. - - Test demonstrates that a line break within CDATA will be normalized. - - Test demonstrates that entity expansion is done while processing entity declarations. - - Test demonstrates that entity expansion is done while processing entity declarations. - - Comments may contain any legal XML characters; - only the string "--" is disallowed. - - - - - Test demonstrates the use of an ExternalID within a document type definition. - - Test demonstrates the use of an ExternalID within a document type definition. - - Test demonstrates the expansion of an external parameter entity that declares an attribute. - - Expands an external parameter entity in two different ways, - with one of them declaring an attribute. - - Test demonstrates the expansion of an external parameter entity that declares an attribute. - - Test demonstrates that when more than one definition is provided for the same attribute of a given element type only the first declaration is binding. - - Test demonstrates the use of an Attribute list declaration within an external entity. - - Test demonstrates that an external identifier may include a public identifier. - - Test demonstrates that an external identifier may include a public identifier. - - Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. - - Test demonstrates a parameter entity declaration whose parameter entity definition is an ExternalID. - - Test demonstrates an enternal parsed entity that begins with a text declaration. - - Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. - - Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. - - Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being part of the DTD. The keyword is a parameter-entity reference. - - Test demonstrates the use of the conditional section INCLUDE that will include its contents as part of the DTD. The keyword is a parameter-entity reference. - - Test demonstrates a parameter entity declaration that contains an attribute list declaration. - - Test demonstrates an EnternalID whose contents contain an parameter entity declaration and a attribute list definition. - - Test demonstrates that a parameter entity will be expanded with spaces on either side. - - Parameter entities expand with spaces on either side. - - Test demonstrates a parameter entity declaration that contains a partial attribute list declaration. - - Test demonstrates the use of a parameter-entity reference as a keyword of a conditional section. The parameter entity must be replaced by its content before the processor decides whether to include the conditional section. - - Test demonstrates the use of a parameter entity reference within an attribute list declaration. - - - Constructs an <!ATTLIST...> declaration from several PEs. - - Test demonstrates that when more that one definition is provided for the same entity only the first declaration is binding. - - Test demonstrates that when more that one definition is provided for the same attribute of a given element type only the first declaration is binding. - - Test demonstrates a parameter entity reference whose value is NULL. - - Test demonstrates the use of the conditional section INCLUDE that will include its contents. - - Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. - - Test demonstrates the use of the conditonal section IGNORE the will ignore its content from being used. - - Expands a general entity which contains a CDATA section with - what looks like a markup declaration (but is just text since - it's in a CDATA section). - - - - - A combination of carriage return line feed in an external entity must - be normalized to a single newline. - - A carriage return (also CRLF) in an external entity must - be normalized to a single newline. - - Test demonstrates that the content of an element can be empty. In this case the external entity is an empty file. - - A carriage return (also CRLF) in an external entity must - be normalized to a single newline. - - Test demonstrates the use of optional character and content particles within an element content. The test also show the use of external entity. - - Test demonstrates the use of optional character and content particles within mixed element content. The test also shows the use of an external entity and that a carriage control line feed in an external entity must be normalized to a single newline. - - Test demonstrates the use of external entity and how replacement -text is retrieved and processed. - Test demonstrates the use of external -entity and how replacement text is retrieved and processed. Also tests the use of an -EncodingDecl of UTF-16. - - A carriage return (also CRLF) in an external entity must - be normalized to a single newline. - - Test demonstrates the use of a public identifier with and external entity. -The test also show that a carriage control line feed combination in an external -entity must be normalized to a single newline. - - Test demonstrates both internal and external entities and that processing of entity references may be required to produce the correct replacement text. - - Test demonstrates that whitespace is handled by adding a single whitespace to the normalized value in the attribute list. - - Test demonstrates use of characters outside of normal ASCII range. -