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