From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.1.3 (2006-06-01) on yquem.inria.fr X-Spam-Level: ** X-Spam-Status: No, score=2.8 required=5.0 tests=DNS_FROM_RFC_POST,SPF_NEUTRAL autolearn=disabled version=3.1.3 X-Original-To: caml-list@yquem.inria.fr Delivered-To: caml-list@yquem.inria.fr Received: from mail2-relais-roc.national.inria.fr (mail2-relais-roc.national.inria.fr [192.134.164.83]) by yquem.inria.fr (Postfix) with ESMTP id 2B2F9BC37 for ; Wed, 30 Sep 2009 12:36:42 +0200 (CEST) X-IronPort-Anti-Spam-Filtered: true X-IronPort-Anti-Spam-Result: AqYBACPSwkrRVdvfkGdsb2JhbACPV4FxiHg/AQEBAQkJDAcTA6tYgTqQDQEDAwWEIgQ X-IronPort-AV: E=Sophos;i="4.44,480,1249250400"; d="scan'208";a="33854659" Received: from mail-ew0-f223.google.com ([209.85.219.223]) by mail2-smtp-roc.national.inria.fr with ESMTP; 30 Sep 2009 12:36:30 +0200 Received: by ewy23 with SMTP id 23so982113ewy.26 for ; Wed, 30 Sep 2009 03:36:30 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:mime-version:received:in-reply-to:references :from:date:message-id:subject:to:cc:content-type :content-transfer-encoding; bh=s+y+Il3RSffWC27+THRwkvOf+5wiiirA1YxDEs5lamA=; b=uOiF7xx6m0LA6XgKRZVDTZSEX7qe75MW82CB42LN/hhOu6qE95vDZsbE3uuO/9j3C1 rPtF4+Urq7c+z7CBcbKUAKGqJMa7IeOm0/kC4bV2t8cADZTHatowG3jLexN07sv8EBcJ yhVBhscGl4OcxrSiDzadp5yYJkOZdhcQIJI5s= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=mime-version:in-reply-to:references:from:date:message-id:subject:to :cc:content-type:content-transfer-encoding; b=aqXAkywpK61o1CeiiRApesOlqL72YBPB/ERCrfS5Ol3NO9bbzWRqQb+gjF6qAGoj9W pTdNRzVfDguesH6uKoAWtroabWsFnCzjdcuYOl0RhHksk+ZYWhfmDU+fNUYjcbvvOxg8 lZOpeXuaVhExwmX46+CEDICIdfsR9zwWvt6dg= MIME-Version: 1.0 Received: by 10.210.6.8 with SMTP id 8mr6553309ebf.80.1254306990127; Wed, 30 Sep 2009 03:36:30 -0700 (PDT) In-Reply-To: <20090930101622.GA15517@annexia.org> References: <20090928121745.GA19803@annexia.org> <9d3ec8300909280806me88dccbm2a6e4d98c9de191@mail.gmail.com> <20090930101622.GA15517@annexia.org> From: Sebastien Mondet Date: Wed, 30 Sep 2009 12:36:10 +0200 Message-ID: <42eabd860909300336h5d9f907cmc767ddb2fbef9c31@mail.gmail.com> Subject: Re: [Caml-list] xpath or alternatives To: Richard Jones Cc: "caml-list@inria.fr" Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable X-Spam: no; 0.00; ocaml:01 ocaml:01 zack:01 beginner's:01 bug:01 git:98 git:98 fff:98 2.0:98 blog:98 beginners:01 caml-list:01 caml-list:01 bin:01 caml:02 > The discussion here has got quite theoretical, but it's not helping > me to write the original 3 lines of Perl in OCaml. > > =C2=A0 =C2=A0my $p =3D XML::XPath->new (xml =3D> $xml); > =C2=A0 =C2=A0my @disks =3D $p->findnodes ('//devices/disk/source/@dev'); > =C2=A0 =C2=A0push (@disks, $p->findnodes ('//devices/disk/source/@file'))= ; > > My best effort, using xml-light, is around 40 lines: > > http://git.et.redhat.com/?p=3Dlibguestfs.git;a=3Dblob;f=3Docaml/examples/= viewer.ml;h=3Def6627b1b92a4fff7d4fa1fa4aca63eeffc05ece;hb=3DHEAD#l322 > Galax is (or was ??) an XQuery implementation in ocaml and XPath 2.0 is included in XQuery... so maybe you can use it... the site does not seem to respond now: http://www.galaxquery.org/ but there is a debian package: http://upsilon.cc/~zack/blog/posts/2008/02/galax_in_debian/ > Rich. > > -- > Richard Jones > Red Hat > > _______________________________________________ > Caml-list mailing list. Subscription management: > http://yquem.inria.fr/cgi-bin/mailman/listinfo/caml-list > Archives: http://caml.inria.fr > Beginner's list: http://groups.yahoo.com/group/ocaml_beginners > Bug reports: http://caml.inria.fr/bin/caml-bugs