# HG changeset patch
# User iuc
# Date 1430322916 14400
# Node ID a4bfde844a72608c0589602ee08623380fe3a5a5
# Parent 3ab2ac4f330442b1403cb88788c04c5fd3985762
Uploaded
diff -r 3ab2ac4f3304 -r a4bfde844a72 macros.xml
--- a/macros.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,25 +0,0 @@
-
-
-
-
- package_perl_xml_xpath
-
-
-
- 1.0
-
-
-
-
-
-
-
-
-
-
-
diff -r 3ab2ac4f3304 -r a4bfde844a72 test-data/1.xml
--- a/test-data/1.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,1 +0,0 @@
-1
diff -r 3ab2ac4f3304 -r a4bfde844a72 test-data/2.xml
--- a/test-data/2.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,2 +0,0 @@
-1
-2
diff -r 3ab2ac4f3304 -r a4bfde844a72 test-data/3.xml
--- a/test-data/3.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,3 +0,0 @@
-1
-2
-3
diff -r 3ab2ac4f3304 -r a4bfde844a72 test-data/test.xml
--- a/test-data/test.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,12 +0,0 @@
-
-
- 1
- 2
- 3
-
-
- 4
- 5
-
-
-
diff -r 3ab2ac4f3304 -r a4bfde844a72 tool_dependencies.xml
--- a/tool_dependencies.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,6 +0,0 @@
-
-
-
-
-
-
diff -r 3ab2ac4f3304 -r a4bfde844a72 xpath
--- a/xpath Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,201 +0,0 @@
-#!/usr/bin/perl -w
-eval 'exec /usr/bin/perl -w -S $0 ${1+"$@"}'
- if 0; # not running under some shell
-use strict;
-
-$| = 1;
-
-use XML::XPath;
-
-my @paths;
-my $pipeline;
-my $SUFFIX = "\n";
-my $PREFIX = "";
-my $quiet = 0;
-
-
-PARSE: while ((@ARGV >= 1) && ($ARGV[0] =~ /^-./ )) {
- OPTIONS: {
- if ($ARGV[0] eq "-e") {
- shift;
- push @paths, shift;
- last OPTIONS;
- }
- if ($ARGV[0] eq "-p") {
- shift;
- $PREFIX = shift;
- last OPTIONS;
- }
- if ($ARGV[0] eq "-s") {
- shift;
- $SUFFIX = shift;
- last OPTIONS;
- }
- if ($ARGV[0] eq "-q") {
- $quiet = 1;
- shift;
- last OPTIONS;
- }
- print STDERR "Unknown option ignore: ", shift;
- }
-}
-
-unless (@paths >= 1) {
- print STDERR qq(Usage:
-$0 [options] -e query [-e query...] [filename...]
-
- If no filenams are given, supply XML on STDIN.
- You must provide at least one query. Each supplementary
- query is done in order, the previous query giving the
- context of the next one.
-
- Options:
-
- -q quiet. Only output the resulting PATH
- -s suffix use suffix instead of linefeed.
- -p postfix use prefix instead of nothing.
-);
- exit;
-}
-
-do
-{
- my $xpath;
- my @curpaths = @paths;
- my $filename;
- if (@ARGV >= 1) {
- $filename = shift @ARGV;
- $xpath = XML::XPath->new(filename => $filename);
- }
- else {
- $filename = 'stdin';
- $xpath = XML::XPath->new(ioref => \*STDIN);
- }
-
- my $nodes = $xpath->find(shift @curpaths);
-
- if ($nodes->isa('XML::XPath::NodeSet')) {
- while (@curpaths >= 1) {
- $nodes = find_more($xpath, shift @curpaths, $nodes);
- last unless $nodes->isa('XML::XPath::NodeSet');
- }
- }
-
- if ($nodes->isa('XML::XPath::NodeSet')) {
- if ($nodes->size) {
- print STDERR "Found ", $nodes->size, " nodes in $filename:\n" unless $quiet;
- foreach my $node ($nodes->get_nodelist) {
- print STDERR "-- NODE --\n" unless $quiet;
- print $PREFIX, $node->toString, $SUFFIX;
- }
- }
- else {
- print STDERR "No nodes found in $filename\n" unless $quiet;
- }
- }
- else {
- print STDERR "Query didn't return a nodeset. Value: ";
- print $nodes->value, "\n";
- }
-
-} until (@ARGV < 1);
-
-exit;
-
-sub find_more {
- my $xpath = shift;
- my $find = shift;
- my ($nodes) = @_;
-
- my $newnodes = XML::XPath::NodeSet->new;
-
- foreach my $node ($nodes->get_nodelist) {
- my $new = $xpath->find($find, $node);
- if ($new->isa('XML::XPath::NodeSet')) {
- $newnodes->append($new);
- }
- else {
- warn "Not a nodeset: ", $new->value, "\n";
- }
- }
-
- return $newnodes;
-}
-
-__END__
-
-=head1 NAME
-
-xpath - a script to query XPath statements in XML documents.
-
-=head1 SYNOPSIS
-
-B
-
-=head1 DESCRIPTION
-
-B uses the L perl module to make XPath queries
-to any XML document. The L module aims to comply exactly
-to the XPath specification at C and yet
-allows extensions to be added in the form of functions.
-
-The script takes any number of XPath pointers and tries to apply them
-to each XML document given on the command line. If no file arguments
-are given, the query is done using C as an XML document.
-
-When multiple queries exist, the result of the last query is used as
-context for the next query and only the result of the last one is output.
-The context of the first query is always the root of the current document.
-
-=head1 OPTIONS
-
-=head2 B<-q>
-
-Be quiet. Output only errors (and no separator) on stderr.
-
-=head2 B<-s suffix>
-
-Place C at the end of each entry. Default is a linefeed.
-
-=head2 B<-p prefix>
-
-Place C preceding each entry. Default is nothing.
-
-=head1 BUGS
-
-The author of this man page is not very fluant in english. Please,
-send him (L) any corrections concerning this text.
-
-See also L.
-
-=head1 SEE ALSO
-
-L.
-
-=head1 HISTORY
-
-This module is copyright 2000 Fastnet Software Ltd. This is free
-software, and as such comes with NO WARRANTY. No dates are used in this
-module. You may distribute this module under the terms of either the
-Gnu GPL, or under specific licencing from Fastnet Software Ltd.
-Special free licencing consideration will be given to similarly free
-software. Please don't flame me for this licence - I've put a lot of
-hours into this code, and if someone uses my software in their product
-I expect them to have the courtesy to contact me first.
-
-Full support for this module is available from Fastnet Software Ltd on
-a pay per incident basis. Alternatively subscribe to the Perl-XML
-mailing list by mailing lyris@activestate.com with the text:
-
- SUBSCRIBE Perl-XML
-
-in the body of the message. There are lots of friendly people on the
-list, including myself, and we'll be glad to get you started.
-
-Matt Sergeant, matt@sergeant.org
-
-This man page was added as well as some serious modifications to the script
-by Fabien Ninoles for the Debian Project.
-
-=cut
-
diff -r 3ab2ac4f3304 -r a4bfde844a72 xpath.xml
--- a/xpath.xml Tue Apr 28 22:56:29 2015 -0400
+++ /dev/null Thu Jan 01 00:00:00 1970 +0000
@@ -1,109 +0,0 @@
-
-
- compute xpath expressions on XML data
-
- macros.xml
-
-
-
- $output
- ]]>
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- 1234
- 1235
- 1236
- 1237
-
-
-
-One could query out the IDs specifically with a query like::
-
- //Id/text()
-
-**XPath Expressions**
-
-There are many helpful tutorials on the internet for XPath expressions.
-`Wikipedia `__ has a number of good
-examples.
-
-**Some More Examples**
-
-For an XML document like the following::
-
-
-
- 1
- 2
- 3
-
-
- 4
- 5
-
-
-
-Here are some example queries and their outputs:
-
-+====================+===================================================+
-| Query | Result |
-+--------------------+---------------------------------------------------+
-| //b[@attr="value"] | 1 |
-+--------------------+---------------------------------------------------+
-| //b[@attr] | 12 |
-+--------------------+---------------------------------------------------+
-| //b | 123 |
-+--------------------+---------------------------------------------------+
-| //b/text() | 1\n2\n3 |
-+--------------------+---------------------------------------------------+
-| /root/*/*/text() | 1\n2\n3\n4\n5 |
-+--------------------+---------------------------------------------------+
-
-
-
-@ATTRIBUTION@
-]]>
-