From owner-freebsd-stable@FreeBSD.ORG Thu Dec 12 15:59:39 2013 Return-Path: Delivered-To: freebsd-stable@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [8.8.178.115]) (using TLSv1 with cipher ADH-AES256-SHA (256/256 bits)) (No client certificate requested) by hub.freebsd.org (Postfix) with ESMTPS id BFFE09C1 for ; Thu, 12 Dec 2013 15:59:39 +0000 (UTC) Received: from away.numachi.com (away.numachi.com [66.228.38.138]) by mx1.freebsd.org (Postfix) with SMTP id 6B2001E2F for ; Thu, 12 Dec 2013 15:59:39 +0000 (UTC) Received: (qmail 28936 invoked from network); 12 Dec 2013 15:52:56 -0000 Received: from unknown (HELO meisai.numachi.com) (71.181.44.212) by away.numachi.com with SMTP; 12 Dec 2013 15:52:56 -0000 Received: (qmail 44003 invoked by uid 1001); 12 Dec 2013 15:41:05 -0000 Date: Thu, 12 Dec 2013 10:41:05 -0500 From: Brian Reichert To: Daniel O'Connor Subject: Re: BIND segway -> python -> first-class ports Message-ID: <20131212154105.GS55121@numachi.com> References: <52A82099.9080100@bluerosetech.com> <0EC3A50D-A6BE-4F3B-87D6-AB0470F0BA64@gsoft.com.au> <4174A92E-F202-4FFB-BFED-C38A9D0A7F91@fisglobal.com> <0D92E13A-F869-492C-852B-37A0BFB1674C@gsoft.com.au> <38856510-A2D9-41E6-8CDC-ED282BDA933A@gsoft.com.au> <5A92C643-0BA6-4D15-AB54-DB78BE00583A@fisglobal.com> <6052F96E-0CD3-4C56-A619-8337C4ED890C@gsoft.com.au> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <6052F96E-0CD3-4C56-A619-8337C4ED890C@gsoft.com.au> User-Agent: Mutt/1.5.9i Cc: Kevin Oberman , Devin Teske , "freebsd-stable@freebsd.org Stable" , "Teske, Devin" , Darren Pilgrim X-BeenThere: freebsd-stable@freebsd.org X-Mailman-Version: 2.1.17 Precedence: list List-Id: Production branch of FreeBSD source code List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Thu, 12 Dec 2013 15:59:39 -0000 On Thu, Dec 12, 2013 at 05:37:08PM +1030, Daniel O'Connor wrote: > > On 12 Dec 2013, at 17:32, Teske, Devin wrote: > > On Dec 11, 2013, at 9:46 PM, Daniel O'Connor wrote: > >> On 12 Dec 2013, at 12:24, Teske, Devin wrote: > >>>> Thanks, if only I'd know about this 6 months ago :) > >>> > >>> I just wrote it from scratch, so didn't exist until today ;D > >> > >> Hah nice, although I imagine there is plenty of legal XML it can't parse. > >> > >> That plays to another point about this sort of work - it's very hard to write shell script that will work properly in all cases (things like spaces, or even newlines and unprintable characters in filenames). > >> > > > > If I had spent more time on it, then it would be able to parse any > > XML. However, it wasn't worth going further without first having > > a look at the C code that produces the output. > > > > For example, different XML encoding libraries may encode the > > property values more or less strictly (for example, are values > > properly encoded to prevent a value of "" (for example) > > from prematurely terminating the property borking the XML > > valiation. (my guess would be that it would be encoded fully as > > "</name>". > > > > Just a matter of extending the extract_data() and extract_attr() > > functions and then generalizing a little more. > > I think looking at what produces it is 'cheating' and can end up biting you in the ass later on. Is 'xsltproc' available? It's not fun writing xslt stylesheets, but it's rigorous, and can crank out any output you want. > Basically my point is that there needs to be _some_ interchange format where you can reliably parse output from tools generating it (which by and by might be written by different people with different assumptions etc). So a core extremely robust parser is necessary. JSON tools? :) I imagine nothing in base. > -- > Daniel O'Connor software and network engineer > for Genesis Software - http://www.gsoft.com.au > "The nice thing about standards is that there > are so many of them to choose from." > -- Andrew Tanenbaum > GPG Fingerprint - 5596 B766 97C0 0E94 4347 295E E593 DC20 7B3F CE8C -- Brian Reichert BSD admin/developer at large