You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by ja...@apache.org on 2001/07/10 01:13:39 UTC
cvs commit: xml-xerces/perl/samples DOMCount.pl DOMPrint.pl SAX2Count.pl SAXCount.pl
jasons 01/07/09 16:13:39
Modified: perl/samples DOMCount.pl DOMPrint.pl SAX2Count.pl
SAXCount.pl
Log:
* samples/SAXCount.pl (Repository):
* samples/SAX2Count.pl (Repository):
* samples/DOMPrint.pl (Repository):
* samples/DOMCount.pl (Repository):
handles Schemas
handles validation schemes
uses Getopt::Long
Revision Changes Path
1.9 +25 -5 xml-xerces/perl/samples/DOMCount.pl
Index: DOMCount.pl
===================================================================
RCS file: /home/cvs/xml-xerces/perl/samples/DOMCount.pl,v
retrieving revision 1.8
retrieving revision 1.9
diff -u -r1.8 -r1.9
--- DOMCount.pl 2001/07/09 15:29:22 1.8
+++ DOMCount.pl 2001/07/09 23:13:33 1.9
@@ -72,11 +72,20 @@
# Read and validate command line args
#
-my $USAGE = "USAGE: $0 [-v][-n][-s] file\n";
-my $VERSION = q[$Id: DOMCount.pl,v 1.8 2001/07/09 15:29:22 jasons Exp $];
+my $USAGE = <<EOU;
+USAGE: $0 [-v=xxx][-n] file
+Options:
+ -v=xxx Validation scheme [always | never | auto*]
+ -n Enable namespace processing. Defaults to off.
+ -s Enable schema processing. Defaults to off.
+ * = Default if not provided explicitly
+
+EOU
+my $VERSION = q[$Id: DOMCount.pl,v 1.9 2001/07/09 23:13:33 jasons Exp $];
+
my $rc = GetOptions(\%OPTIONS,
- 'v',
+ 'v=s',
'n',
's');
@@ -85,16 +94,27 @@
my $file = $ARGV[0];
-f $file or die "File '$file' does not exist!\n";
-my $validate = $OPTIONS{v} || 0;
my $namespace = $OPTIONS{n} || 0;
my $schema = $OPTIONS{s} || 0;
+my $validate = $OPTIONS{v} || 'auto';
+
+if (uc($validate) eq 'ALWAYS') {
+ $validate = $XML::Xerces::DOMParser::Val_Always;
+} elsif (uc($validate) eq 'NEVER') {
+ $validate = $XML::Xerces::DOMParser::Val_Never;
+} elsif (uc($validate) eq 'AUTO') {
+ $validate = $XML::Xerces::DOMParser::Val_Auto;
+} else {
+ die("Unknown value for -v: $validate\n$USAGE");
+}
+
#
# Count the nodes
#
my $parser = XML::Xerces::DOMParser->new();
-$parser->setDoValidation ($validate);
+$parser->setValidationScheme ($validate);
$parser->setDoNamespaces ($namespace);
$parser->setCreateEntityReferenceNodes(1);
$parser->setDoSchema ($schema);
1.7 +36 -8 xml-xerces/perl/samples/DOMPrint.pl
Index: DOMPrint.pl
===================================================================
RCS file: /home/cvs/xml-xerces/perl/samples/DOMPrint.pl,v
retrieving revision 1.6
retrieving revision 1.7
diff -u -r1.6 -r1.7
--- DOMPrint.pl 2001/05/05 23:08:31 1.6
+++ DOMPrint.pl 2001/07/09 23:13:34 1.7
@@ -70,22 +70,48 @@
# use blib;
use XML::Xerces;
use XML::Xerces::DOMParse;
-use Getopt::Std;
-use vars qw($opt_v $opt_n);
+use Getopt::Long;
+use vars qw();
#
# Read and validate command line args
#
-my $USAGE = "USAGE: $0 [-v][-n] file\n";
+my $USAGE = <<EOU;
+USAGE: $0 [-v=xxx][-n] file
+Options:
+ -v=xxx Validation scheme [always | never | auto*]
+ -n Enable namespace processing. Defaults to off.
+ -s Enable schema processing. Defaults to off.
+
+ * = Default if not provided explicitly
+
+EOU
+my $VERSION = q[$Id: DOMPrint.pl,v 1.7 2001/07/09 23:13:34 jasons Exp $];
+my %OPTIONS;
+my $rc = GetOptions(\%OPTIONS,
+ 'v=s',
+ 'n',
+ 's');
-getopts ('vn') and ($#ARGV == 0) or die "$USAGE";
--f $ARGV[0] or die "File '$ARGV[0]' does not exist!\n";
+die "$USAGE" unless $rc;
-my $validate = $opt_v || 0;
-my $namespace = $opt_n || 0;
my $file = $ARGV[0];
+-f $file or die "File '$file' does not exist!\n";
+my $namespace = $OPTIONS{n} || 0;
+my $schema = $OPTIONS{s} || 0;
+my $validate = $OPTIONS{v} || 'auto';
+
+if (uc($validate) eq 'ALWAYS') {
+ $validate = $XML::Xerces::DOMParser::Val_Always;
+} elsif (uc($validate) eq 'NEVER') {
+ $validate = $XML::Xerces::DOMParser::Val_Never;
+} elsif (uc($validate) eq 'AUTO') {
+ $validate = $XML::Xerces::DOMParser::Val_Auto;
+} else {
+ die("Unknown value for -v: $validate\n$USAGE");
+}
#
# Parse and print
@@ -93,8 +119,10 @@
my $file = $ARGV[0];
my $parser = XML::Xerces::DOMParser->new();
+$parser->setValidationScheme ($validate);
$parser->setDoNamespaces ($namespace);
-$parser->setDoValidation ($validate);
+$parser->setCreateEntityReferenceNodes(1);
+$parser->setDoSchema ($schema);
$parser->setToCreateXMLDeclTypeNode(1);
my $ERROR_HANDLER = XML::Xerces::PerlErrorHandler->new();
$parser->setErrorHandler($ERROR_HANDLER);
1.5 +44 -8 xml-xerces/perl/samples/SAX2Count.pl
Index: SAX2Count.pl
===================================================================
RCS file: /home/cvs/xml-xerces/perl/samples/SAX2Count.pl,v
retrieving revision 1.4
retrieving revision 1.5
diff -u -r1.4 -r1.5
--- SAX2Count.pl 2001/06/14 05:41:56 1.4
+++ SAX2Count.pl 2001/07/09 23:13:35 1.5
@@ -66,23 +66,50 @@
use strict;
# use blib;
use XML::Xerces;
-use Getopt::Std;
+use Getopt::Long;
use vars qw($opt_v $opt_n);
use Benchmark;
#
# Read and validate command line args
#
-my $USAGE = "USAGE: $0 [-v][-n] file\n";
-my $VERSION = q[$Id: SAX2Count.pl,v 1.4 2001/06/14 05:41:56 jasons Exp $ ];
+my $USAGE = <<EOU;
+USAGE: $0 [-v=xxx][-n] file
+Options:
+ -v=xxx Validation scheme [always | never | auto*]
+ -n Enable namespace processing. Defaults to off.
+ -s Enable schema processing. Defaults to off.
+
+ * = Default if not provided explicitly
+
+EOU
+my $VERSION = q[$Id: SAX2Count.pl,v 1.5 2001/07/09 23:13:35 jasons Exp $ ];
+
+my %OPTIONS;
+my $rc = GetOptions(\%OPTIONS,
+ 'v=s',
+ 'n',
+ 's');
-getopts ('vn') && ($#ARGV == 0) or die "$USAGE";
--f $ARGV[0] or die "File '$ARGV[0]' does not exist!\n";
+die "$USAGE" unless $rc;
-my $validate = $opt_v || 0;
-my $namespace = $opt_n || 0;
my $file = $ARGV[0];
+-f $file or die "File '$file' does not exist!\n";
+my $namespace = $OPTIONS{n} || 0;
+my $schema = $OPTIONS{s} || 0;
+my $validate = $OPTIONS{v} || 'auto';
+
+if (uc($validate) eq 'ALWAYS') {
+ $validate = $XML::Xerces::SAX2XMLReader::Val_Always;
+} elsif (uc($validate) eq 'NEVER') {
+ $validate = $XML::Xerces::SAX2XMLReader::Val_Never;
+} elsif (uc($validate) eq 'AUTO') {
+ $validate = $XML::Xerces::SAX2XMLReader::Val_Auto;
+} else {
+ die("Unknown value for -v: $validate\n$USAGE");
+}
+
#
# Count the nodes
#
@@ -109,7 +136,16 @@
package main;
my $parser = XML::Xerces::XMLReaderFactory::createXMLReader();
$parser->setFeature("http://xml.org/sax/features/namespaces", $namespace);
-$parser->setFeature("http://xml.org/sax/features/validation", $validate);
+if ($validate eq $XML::Xerces::SAX2XMLReader::Val_Auto) {
+ $parser->setFeature("http://xml.org/sax/features/validation", 1);
+ $parser->setFeature("http://apache.org/xml/features/validation/dynamic", 1);
+} elsif ($validate eq $XML::Xerces::SAX2XMLReader::Val_Never) {
+ $parser->setFeature("http://xml.org/sax/features/validation", 0);
+} elsif ($validate eq $XML::Xerces::SAX2XMLReader::Val_Always) {
+ $parser->setFeature("http://xml.org/sax/features/validation", 1);
+ $parser->setFeature("http://apache.org/xml/features/validation/dynamic", 0);
+}
+$parser->setFeature("http://apache.org/xml/features/validation/schema", $schema);
my $error_handler = XML::Xerces::PerlErrorHandler->new();
$parser->setErrorHandler($error_handler);
1.4 +36 -8 xml-xerces/perl/samples/SAXCount.pl
Index: SAXCount.pl
===================================================================
RCS file: /home/cvs/xml-xerces/perl/samples/SAXCount.pl,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -r1.3 -r1.4
--- SAXCount.pl 2001/06/14 05:42:21 1.3
+++ SAXCount.pl 2001/07/09 23:13:35 1.4
@@ -66,30 +66,58 @@
use strict;
# use blib;
use XML::Xerces;
-use Getopt::Std;
+use Getopt::Long;
use vars qw($opt_v $opt_n);
use Benchmark;
#
# Read and validate command line args
#
-my $USAGE = "USAGE: $0 [-v][-n] file\n";
-my $VERSION = q[$Id: SAXCount.pl,v 1.3 2001/06/14 05:42:21 jasons Exp $ ];
+my $USAGE = <<EOU;
+USAGE: $0 [-v=xxx][-n] file
+Options:
+ -v=xxx Validation scheme [always | never | auto*]
+ -n Enable namespace processing. Defaults to off.
+ -s Enable schema processing. Defaults to off.
-getopts ('vn') && ($#ARGV == 0) or die "$USAGE";
--f $ARGV[0] or die "File '$ARGV[0]' does not exist!\n";
+ * = Default if not provided explicitly
-my $validate = $opt_v || 0;
-my $namespace = $opt_n || 0;
+EOU
+
+my $VERSION = q[$Id: SAXCount.pl,v 1.4 2001/07/09 23:13:35 jasons Exp $ ];
+my %OPTIONS;
+my $rc = GetOptions(\%OPTIONS,
+ 'v=s',
+ 'n',
+ 's');
+
+die "$USAGE" unless $rc;
+
my $file = $ARGV[0];
+-f $file or die "File '$file' does not exist!\n";
+
+my $namespace = $OPTIONS{n} || 0;
+my $schema = $OPTIONS{s} || 0;
+my $validate = $OPTIONS{v} || 'auto';
+
+if (uc($validate) eq 'ALWAYS') {
+ $validate = $XML::Xerces::SAXParser::Val_Always;
+} elsif (uc($validate) eq 'NEVER') {
+ $validate = $XML::Xerces::SAXParser::Val_Never;
+} elsif (uc($validate) eq 'AUTO') {
+ $validate = $XML::Xerces::SAXParser::Val_Auto;
+} else {
+ die("Unknown value for -v: $validate\n$USAGE");
+}
#
# Count the nodes
#
my $parser = XML::Xerces::SAXParser->new();
-$parser->setDoValidation ($validate);
+$parser->setValidationScheme ($validate);
$parser->setDoNamespaces ($namespace);
+$parser->setDoSchema ($schema);
my $ERROR_HANDLER = XML::Xerces::PerlErrorHandler->new();
$parser->setErrorHandler($ERROR_HANDLER);
---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org