* Mike Frysinger ([EMAIL PROTECTED]) wrote:
> On Friday 07 September 2007, Alec Warner wrote:
> > On 9/7/07, Doug Goldstein <[EMAIL PROTECTED]> wrote:
> > > Sure... be fancy with all your xsl and xml crap. LONG LIVE THE BRUTE
> > > FORCE PARSE WITH SED!
> >
> > People who parse xml with sed make me cry.
> >
> > grep = also bad.
> 
> i'd parse it with xmlgawk if i hadnt punted it from gawk sometime ago
> -mike

  app-text/xml2 makes a surprisingly nice replacement for xmlgawk for
people who know not to use sed or awk on XML, yet still want to.  For
example:

    $ xml2 < /var/lib/repos/gentoo/sys-apps/busybox/metadata.xml \
        | awk -F= '/\/herd=/ {print $2}'
    embedded
    $ xml2 < /var/lib/repos/gentoo/www-client/surfraw/metadata.xml \
        | sed '/\/maintainer\/email=/!d;s,^.*=,,'
    [EMAIL PROTECTED]
    [EMAIL PROTECTED]

or to match Vapier's output just collapse the output:

    $ echo $(xml2 < /var/lib/repos/gentoo/www-client/surfraw/metadata.xml \
        | awk -F '/\/maintainer\/email=/ {print $2}')
    [EMAIL PROTECTED] [EMAIL PROTECTED]

  The above examples will cope with cases that will break the simple sed
version, such as "<herd>\ndata\n</herd>".  But then again so does
Vapier's xsltproc solution.

  As a hint for other tasks the package can cope with tagsoup too if
called with html2, and it can reassemble with 2xml/2html.  There is some
documentation online at the author's website, but its usage is obvious.

Thanks,

James

Attachment: pgpBdXSAzSX3x.pgp
Description: PGP signature

Reply via email to