gnu-arch-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[OT] XML foo (was Re: [Gnu-arch-users] Re: documentation as info)


From: Tom Lord
Subject: [OT] XML foo (was Re: [Gnu-arch-users] Re: documentation as info)
Date: Wed, 17 Sep 2003 07:46:30 -0700 (PDT)


    > From: Colin Walters <address@hidden>

    > On Wed, 2003-09-17 at 00:21, Tom Lord wrote:
    > >     > From: Colin Walters <address@hidden>

    > >     > I think the standards bodies are trying to move away from
    > >     > Turing-complete data.  And for good reasons.

    > > What might those be?

    > Because we want to be able to ship schemas along with the data, and have
    > software be able to verify the data against the schema.  If schemas were
    > arbitrary Turing-complete code, then simply trying to verify a
    > document's structure could cause a verifying program to infloop, or
    > worse.

    > In summary: security and reliablity.

Schema regexps already give you enough to write a spec that will take
"too long" to match.  I would guess that the regular language tree
structure pattern languages have similar loopholes though I couldn't
say that for sure.  In short, no matter what, if you're dealing
untrusted inputs then you're going to have to resource bound the
validation steps and treat validations that don't complete as failed 
or errored-out.

Meanwhile, a tiny, expressive (turing) language would make it a lot
easier to write domain-specific customizations, publish new apis (in
operational form) etc.

It's not like, in parallel with the development of W3C foo, people
weren't willing -- eager even -- to sprinkle their networks with VMs
and run-time systems.   And it's not like a good implementation of one
of the roughly-regular language pattern matchers isn't comperably hard
to making a nice little turing language.  The problem space just got
cut up in a weird way leading to "solutions" in some areas that are
just plain awkward and weird.

-t




reply via email to

[Prev in Thread] Current Thread [Next in Thread]