aboutsummaryrefslogtreecommitdiff
path: root/gnu/packages/xml.scm
diff options
context:
space:
mode:
Diffstat (limited to 'gnu/packages/xml.scm')
-rw-r--r--gnu/packages/xml.scm53
1 files changed, 52 insertions, 1 deletions
diff --git a/gnu/packages/xml.scm b/gnu/packages/xml.scm
index b91471690f..9a22535c28 100644
--- a/gnu/packages/xml.scm
+++ b/gnu/packages/xml.scm
@@ -13,7 +13,7 @@
;;; Copyright © 2016 Jan Nieuwenhuizen <janneke@gnu.org>
;;; Copyright © 2016 ng0 <ng0@we.make.ritual.n0.is>
;;; Copyright © 2016 Tobias Geerinckx-Rice <me@tobias.gr>
-;;; Copyright © 2016 Marius Bakke <mbakke@fastmail.com>
+;;; Copyright © 2016, 2017 Marius Bakke <mbakke@fastmail.com>
;;;
;;; This file is part of GNU Guix.
;;;
@@ -238,6 +238,34 @@ the @code{Graph} class and write it out in a specific file format.")
@code{XML::Atom} implements the feed format as well as a client for the API.")
(license (package-license perl))))
+(define-public perl-xml-descent
+ (package
+ (name "perl-xml-descent")
+ (version "1.04")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/A/AN/ANDYA/"
+ "XML-Descent-" version ".tar.gz"))
+ (sha256
+ (base32
+ "0l5xmw2hd95ypppz3lyvp4sn02ccsikzjwacli3ydxfdz1bbh4d7"))))
+ (build-system perl-build-system)
+ (native-inputs
+ `(("perl-module-build" ,perl-module-build)))
+ (propagated-inputs
+ `(("perl-test-differences" ,perl-test-differences)
+ ("perl-xml-tokeparser" ,perl-xml-tokeparser)))
+ (home-page "http://search.cpan.org/dist/XML-Descent")
+ (synopsis "Recursive descent XML parsing")
+ (description
+ "The conventional models for parsing XML are either @dfn{DOM}
+(a data structure representing the entire document tree is created) or
+@dfn{SAX} (callbacks are issued for each element in the XML).
+
+XML grammar is recursive - so it's nice to be able to write recursive
+parsers for it. @code{XML::Descent} allows such parsers to be created.")
+ (license (package-license perl))))
+
(define-public perl-xml-parser
(package
(name "perl-xml-parser")
@@ -269,6 +297,29 @@ as extra arguments to the parse methods, in which case they override options
given at XML::Parser creation time.")
(home-page "http://search.cpan.org/dist/XML-Parser")))
+(define-public perl-xml-tokeparser
+ (package
+ (name "perl-xml-tokeparser")
+ (version "0.05")
+ (source (origin
+ (method url-fetch)
+ (uri (string-append "mirror://cpan/authors/id/P/PO/PODMASTER/"
+ "XML-TokeParser-" version ".tar.gz"))
+ (sha256
+ (base32
+ "1hnpwb3lh6cbgwvjjgqzcp6jm4mp612qn6ili38adc9nhkwv8fc5"))))
+ (build-system perl-build-system)
+ (propagated-inputs `(("perl-xml-parser" ,perl-xml-parser)))
+ (home-page "http://search.cpan.org/dist/XML-TokeParser")
+ (synopsis "Simplified interface to XML::Parser")
+ (description
+ "@code{XML::TokeParser} provides a procedural (\"pull mode\") interface
+to @code{XML::Parser} in much the same way that Gisle Aas'
+@code{HTML::TokeParser} provides a procedural interface to @code{HTML::Parser}.
+@code{XML::TokeParser} splits its XML input up into \"tokens\", each
+corresponding to an @code{XML::Parser} event.")
+ (license (package-license perl))))
+
(define-public perl-libxml
(package
(name "perl-libxml")