OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

ebxml-transport message

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]


Subject: Re: Inneficient XML cross post OR Recursion in DTDs


Mike Rawlins asks if recursion is "even allowed in well-formed XML
documents?  Recursive might also be attempting to define an element in a
DTD in terms of itself.  Is that not disallowed as well?"

I guess I'll throw in the towel, and cross-post all over creation! DTDs
can indeed handle recursion.  See the attached.

William J. Kammerer
FORESIGHT Corp.
4950 Blazer Memorial Pkwy.
Dublin, OH USA 43017-3305
(614) 791-1600

Visit FORESIGHT Corp. at http://www.foresightcorp.com/
"Commerce for a New World"

-----Original Message-----
From: William J. Kammerer <wkammerer@foresightcorp.com>
To: ebXML-Architecture List <ebXML-Architecture@lists.oasis-open.org>
Date: Friday, March 10, 2000 6:33 PM
Subject: Re: efficient XML and recursion


1) Can we restrict a conversation or thread to just one, or the most
appropriate, ebXML listserve?  In this case, I think, Architecture.  I'm
getting two or three copies of each e-mail.  Casual visitors to a group
can just review the archives.

2) Re: recursion.  Bernd Eckenfels says recursion is not "DTDable."  It
is too, and very useful in MathML and igML.  The Mathematical Markup
Language (W3C Working Draft) at http://www.w3.org/TR/WD-math-970515/
shows recursion:

   <EXPR>
      <EXPR>
         <EXPR>
            <MI>x</MI>
            <POWER/>
            <MN>2</MN>
         </EXPR>
         <PLUS/>
         <EXPR>
            <MN>4</MN>
            <TIMES/>
            <MI>x</MI>
         </EXPR>
         <PLUS/>
         <MN>4</MN>
      </EXPR>
      <E/>
      <MN>0</MN>
   </EXPR>

Likewise, igML - the Implementation Guide Markup Language - is used to
represent EDI guidelines and standards, at
http://www.foresightcorp.com/igmldev/.  igML uses recursion to say that
a segment group consists of a segment reference (the loop "trigger"),
followed by any number of segment references or groups:

    <!ELEMENT Group ( Text*, SegmentRef, (SegmentRef|Group)* ) >

Duane Nickull questions whether recursion would be needed, and
certainly, igML is a meta-language, somewhat different from your
run-of-the-mill business messages.  But is recursion all that foreign to
ordinary EDI?  The 856, with its nested HL loop to represent Shipments,
orders, tares, packs and items might require a recursive definition,
though each of those packing levels might alternatively be defined to
avoid recursion (though they'd still be nested).  But there are still
other X12 transaction sets, like the 816 (Organizational Relationships),
where you may have to use a recursive structure (again, using the HL) to
show a company's relationship to its subsidiaries.

If recursion indeed happens in X12 or EDIFACT (and not just in the
artifacts of syntax) to represent real business "stuff" - then we'll
have to be prepared to handle it.  I just can't think of too many
examples.  But one (useful) example is enough to prove the case for
handling recursion.

William J. Kammerer
FORESIGHT Corp.
4950 Blazer Memorial Pkwy.
Dublin, OH USA 43017-3305
(614) 791-1600

Visit FORESIGHT Corp. at http://www.foresightcorp.com/
"Commerce for a New World"




[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] | [Elist Home]

Search: Match: Sort by:
Words: | Help


Powered by eList eXpress LLC