|  |     If you didn't supply the arguments to a <table_row> in an argument
    list, then you would have to identify them as <column> or <cell>
    or something like that.  Either 
    
      <table_row>(foo\bar)
    
    or 
    
      <table_row><cell>foo<cell>bar
      
    It is a good habit when coding this stuff to start every list or
    table with the start and end.  LIkewise, the table row.
    
    Start with
    
    <table>
    
    <endtable>
    
    then go back and fill in the <table_row> tags.  Likewise, start
    the <table_row> tag with"
    
      <table_row>()
    
    and then go back and fill in the stuff between the parens.
    
    That is what LSE does for you when you call for a <table...
    or <list>.
 | 
|  |     Great...if you're creating a table from scratch.  If you're inserting
    table tags into and around existing text, LSE doesn't help much.
    
    I don't see why
    
    <TABLE_ROW>column 1 \column 2 \column 3
    <TABLE_ROW>mumble 1 \mumble 2 \mumble 3
    ...
    
    isn't exactly the same concept as
    
    <LE>first thing
    <LE>second thing
    ...
    
    You're saying that an "argument list" in SDML MUST be in parentheses?
    I've got the same question: why?  Whether you delineate a <TABLE_ROW>
    by a ) or by running into another <TABLE_ROW> or into an <ENDTABLE> tag,
    it seems to me that you can still separate the columns by \ characters.
    You'd have to "push down" nested table context, of course, but you
    must do that anyway.
    The parentheses seem redundant to me.  
    
    I'm really not trying to give you a hard time Bill - you people
    have improved the product no end in the past few months.  It's getting
    really good.  But it still frustrates me a lot.
    
 | 
|  |     Perhaps you can please people by permitting them to specify arg
    lists either in the current manner:
    
       <TAG>(...\...\...)
    
    or in a manner similar to lists:
    
       <TAG><ARGS><ARG>...<ARG>...<ARG>...<ENDARGS>
    
    That would have the following advantages:
    * It handles all the same lexical analysis issues as (...\...\...)
    * It should involve minimal change to your implementation of DOCUMENT,
      since it is easy to envision it as local to the lexical analysis
      portion and requiring no change to the rest of your code.
    * It makes short args convenient, with (...)
    * It makes long args convenient, more readable, and less error-prone,
      with <ARGS>...<ENDARGS>
    * It lets people (like me) who do things like putting lisp code in args do
      it without having to translate all the parens to <OPAREN>...<CPAREN>
    
    RSVP 
    
    Dan
       
 | 
|  |         
      RE: .4
    
    Thanks for the info!  I'd gotten the impression from (mis?)reading
    the documentation that the only parens you could have in arglists
    were arglist delimiters for nested tags.  Knowing that any matched
    pairs of parens are okay will save me lots of pain.
    
    As for the <tag><ARGS><ARG>...<ARG>...<ENDARGS> syntax or something
    comparable being available for some future release, I honestly don't
    see why it would involve much implementation work.  You already
    have stuff to parse <LIST><LE>...<LE>...<ENDLIST>.  I would think
    that the only change necessary would be for the lexical analyzer
    to translate <ARGS><ARG>...<ARG>...<ENDARGS> into exactly the same
    thing it translates (...\...) into, *before* any other part of the
    DOCUMENT engine and tag definitions see it.  Seems like a small
    amount of work to me, though maybe I misunderstand something.
    
      RE: .5
    
    I don't understand your objection, unless you misread 221.3.
    It doesn't propose making any change at all to <TABLE_ROW>.
    In fact, it explicitly says that <TABLE_ROW>(...\...) syntax would
    still work exactly the way it does now.
    Why should you care whether it or any other tag accepts an arglist
    in a new format *in-addition-to* the existing format, in a completely
    upward compatible way that introduces a number of new advantages,
    and with no significant run-time performance degradation for users
    of the (...\...) style?
    ...unless, of course, you are the DOCUMENT lexical analysis developer,
    and just don't feel like making a small, transparent change to your
    code.
    
      RE: .3
    
    Here's another advantage to throw on the pile:
    * Machine-generation of (parts of) documents would be made much
      easier.  Any time there are special characters, you beg for trouble.
      Consider TeX/LaTeX, in which you get messed up by such common
      characters as $, _, ^, %, &, ....  DOCUMENT currently does a very
      good job with this.  The only thing (other than if you happen to
      have things that look like tags) you can get into trouble with
      are a few special characters in arglists.  .3 would permit you
      to machine-generate things in arglists, without worrying about
      running into those.
 |