[XSL-LIST Mailing List Archive Home] [By Thread] [By Date]

Re: 2.6 patterns: let's try variations on the XML syntax


Subject: Re: 2.6 patterns: let's try variations on the XML syntax
From: "Liam R. E. Quin" <liamquin@xxxxxxxxxxxx>
Date: Tue, 1 Sep 1998 02:34:56 -0400 (EDT)

On Mon, 31 Aug 1998, Paul Prescod wrote:
> In my mind, the anti-"string pattern" crowd is wasting its
> effort on a minor issue. The real question is whether the underlying
> concepts are powerful enough and simple enough to accomplish what we need
> them to.

I agree with this -- see, Paul and I _can_ agree!

I also think we should not have multiple ways of doing the same thing,
multiple "string pattern" languages, in different XML-based specs.

Anyone who has mastered Unix ed/ex/vi, grep, egrep, perl, fgrep and awk
knows how exciting it is that all of these programs have slightly
differing regular expression syntaxes.  Hands up everyone who knows
which programs handle \1 and \2 in a substitution? [see note 1]

After a while, things like (?:(${uname})|(${aname}))*? might become
second nature (it's a perl regular expression if you were wondering,
and no, *? is not a typo), but one must also recall Alan Cooper's
observation that most users are "perpetual intermediates" [2], and
have no interest in learning computer programs (or languages) to
this level of detail.  Nor should they have to.

SGML already has several similar but incompatible pattern languages --
one that can never match a capital B [see note 3], one that requires a
lexically non-ambiguous parse, one that disallows reuse of names even if
there is no possibility of conflict, and one that tastes of anchovies.

Right now, XML has only a couple of these -- content models and attribute
name groups -- bit it's growing.  XPointer was a welcome addition, even
though one can imagine a language in which content models and XPointers
were integrated, and perhaps attribute specifications too.

XSL has its own language, and CSS has another.

RDF and XLink appear to have conflicting wanys of linking, although that
may just be non-up-to-date drafts on my part.


So I agree with Paul, but when he says
> powerful enough and simple enough to accomplish what we need
> them to.
we have to include "accessible to the DPH" in "what we need".

Lee





notes:
[1] RHS: ed, ex, vi, perl
    LHS: ex, vi, grep, perl (not egrep), some versions of nawk (not awk)
    \( x \) matches "( x \)" in egrep, awk, nawk and perl, but is a grouping
    operator that sets \1 etc. in ed and ex and vi and grep;
    ( x ) matches "( x )" in fgrep, sed, ed, ex, vi, but is a grouping
    operator in egrep (where it does not set \1) and perl (where it does).
    This is a simplfication, since sed and lex are slightly different
    again, and grep '\([aeiou]x\)\1\1' matches 'axaxax' but not 'axexox'.

[2] Alan Cooper, About Face: The Essentials of User Interface Design, IDG.

[3] See Steve DeRose's "The SGML FAQ Book" for more examples

[4] J. R. Hartley, The Breeding Cycle of the Ganymedian Flatfish,
    Planets Press, XML Recovery Asylum 46B, A.D. 2326

-- 
Liam Quin, GroveWare Inc., Toronto;  The barefoot agitator
l i a m q u i n     at    i n t e r l o g    dot   c o m
[no web page, Interlog deleted it by mistake]


 XSL-List info and archive:  http://www.mulberrytech.com/xsl/xsl-list



Current Thread
Keywords