Date: Thu, 12 Dec 2013 17:37:08 +1030 From: "Daniel O'Connor" <doconnor@gsoft.com.au> To: Devin Teske <dteske@freebsd.org> Cc: Kevin Oberman <rkoberman@gmail.com>, "freebsd-stable@freebsd.org Stable" <freebsd-stable@freebsd.org>, "Teske, Devin" <Devin.Teske@fisglobal.com>, Darren Pilgrim <list_freebsd@bluerosetech.com> Subject: Re: BIND segway -> python -> first-class ports Message-ID: <6052F96E-0CD3-4C56-A619-8337C4ED890C@gsoft.com.au> In-Reply-To: <5A92C643-0BA6-4D15-AB54-DB78BE00583A@fisglobal.com> References: <20131210023615.GR55638@funkthat.com> <52A68141.6010003@mu.org> <622122.74675.bm@smtp120.sbc.mail.gq1.yahoo.com> <20131210224915.GA55638@funkthat.com> <CAN6yY1tSqbrkt5bkjhDW6npT4PAXmMck0Xco%2BERwBE=wkkBDBQ@mail.gmail.com> <52A82099.9080100@bluerosetech.com> <B62F85D0-89E6-4FF8-ADE4-5025FB360462@gsoft.com.au> <D0F85D74-E727-4487-AEA1-B9C16660192E@fisglobal.com> <0EC3A50D-A6BE-4F3B-87D6-AB0470F0BA64@gsoft.com.au> <4174A92E-F202-4FFB-BFED-C38A9D0A7F91@fisglobal.com> <0D92E13A-F869-492C-852B-37A0BFB1674C@gsoft.com.au> <E4058C5F-9360-4A1D-BFB6-4658FC8D5945@fisglobal.com> <38856510-A2D9-41E6-8CDC-ED282BDA933A@gsoft.com.au> <5A92C643-0BA6-4D15-AB54-DB78BE00583A@fisglobal.com>
next in thread | previous in thread | raw e-mail | index | archive | help
On 12 Dec 2013, at 17:32, Teske, Devin <Devin.Teske@fisglobal.com> = wrote: > On Dec 11, 2013, at 9:46 PM, Daniel O'Connor wrote: >> On 12 Dec 2013, at 12:24, Teske, Devin <Devin.Teske@fisglobal.com> = wrote: >>>> Thanks, if only I'd know about this 6 months ago :) >>>=20 >>> I just wrote it from scratch, so didn't exist until today ;D >>=20 >> Hah nice, although I imagine there is plenty of legal XML it can't = parse. >>=20 >> 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). >>=20 >=20 > 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. >=20 > 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 "</name>" (for example) > from prematurely terminating the property borking the XML > valiation. (my guess would be that it would be encoded fully as > "<name></name></name>". >=20 > 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. 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. Perhaps there could be a base tool which can take such output and = convert it to a set of struct commands. That is really my second choice, = but I think that it is politically infeasible to modify our /bin/sh to = parse XML (or any other useful interchange format). -- 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
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?6052F96E-0CD3-4C56-A619-8337C4ED890C>