[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 <email@example.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"
Powered by eList eXpress LLC