Re: attribute order
Thanks for your thoughts.. If we see well known XML vocabularies, like say the XSLT language, we can learn a lot about XML design from these languages.. XSLT specifies - <xsl:stylesheet version="1.0" <xsl:output method="html" /> <xsl:template match="/"> and so on.. This gives idea what type of information should be elements, and what should be attributes.. Regards, Mukul --- Uche Ogbuji <uche.ogbuji@f...> wrote: > On Sun, 2005-05-08 at 09:25 -0700, Mukul Gandhi > wrote: > > --- Uche Ogbuji <uche.ogbuji@f...> > wrote: > > > It can be very dangerous thinking overall. I've > > > seen numerous examples > > > of poor XML design because of too literal a > > > translation from OO > > > concepts. Just for one example, see  for > > > discussion of confusion > > > that arises from the fact that most "object > > > references" in XML are > > > implicit. > > > > Now I realize, that mapping XML model(using > element > > containership and attributes) to OO paradigm is > not > > quite appropriate.. For trivial examples, we may > do > > so. But we cannot generalize this correspondence. > > Yes. > > > . I > > read your article . Really a nice article. > > Thanks. > > > You have > > given an example to model a library inventory with > > XML.. I would like to say a bit about this XML > > structure you gave - > > <library> > > <name>The XML Institute Public Library</name> > > <books> > > <book isbn="0764547607"> > > <title>The XML Bible, 2nd Edition</title> > > </book> > > <book isbn="0321150406"> > > <title>Effective XML</title> > > </book> > > <book isbn="1861005946"> > > <title>Beginning XSLT</title> > > </book> > > </books> > > </library> > > > > /library/books/book containership structure seems > fine > > to me. name is a property of library (object), if > we > > model a real world concept. > > I think that "name" is a far more important > propoerty than the > artificial abstraction "books". But in the end > that's why I admit int > the article it's a matter of judgment. > > > . It could have been made a > > attribute instead of element (to me, having it as > > attribute will match the real world view better). > > I think that's a bad idea for a couple of reasons: > > 1) It's really meant for people, not machines. I > prefer to use > attributes for metadata-like things with affinity > towards machines > 2) It forbids internal structure. If after the > initial design, it turns > out there is a library within whose name we really > want to use > underlines/italics or such, we have to resort to > hacks. > > I almost always put names and titles in elements, > rather than > attributes, for reasons I elaborate on in several of > the articles in the > Principles of XML series. > > Again, this is a good example of how XML modeling > brings uo different > concerns from OO modeling. > > > > But > > here, I'll favour aesthetics than the OO > thinking.. To > > me, "name" as a child element of "library" appeals > > more aesthetically. It also seems more tool > friendly > > (like to an XML editor).. For e.g. if a > description > > becomes too long (e.g. name) , making it an > attribute > > is not quite readable. Also if there are chances > of > > existence of newline in data, I'll prefer to make > the > > information as element.. > > > > So it seems to me now, that designing an XML > document > > is also an art, than a pure science.. > > Of course it's an art. But to be fair, so is OO > modeling. Science is > deterministic, but if you put 5 OO experts in 5 > different rooms with the > same problem and had them come up with an OO design, > you'd get 5 > different results. > > > > > I think XML requires an entirely different > mind-set > > > from objects. > > > > Yes.. Now I realize! > > Yaaaay! I do think that's a very important point of > view to come to. I > also came to XML from OO, and I still work in OO, > and I've learned to > separate the two, to the benefit of both. > > > I read your artcile  also.. Its nice too! > > Thanks again. > > > >  > http://www-106.ibm.com/developerworks/xml/library/x-contain.html > > >  http://www.adtmag.com/article.asp?id=8596 > > -- > Uche Ogbuji > Fourthought, Inc. > http://uche.ogbuji.net > http://fourthought.com > http://copia.ogbuji.net > http://4Suite.org > Use CSS to display XML, part 2 - > http://www-128.ibm.com/developerworks/edu/x-dw-x-xmlcss2-i.html > XML Output with 4Suite & Amara - > http://www.xml.com/pub/a/2005/04/20/py-xml.html > Use XSLT to prepare XML for import into OpenOffice > Calc - > http://www.ibm.com/developerworks/xml/library/x-oocalc/ > Schema standardization for top-down semantic > transparency - > http://www-128.ibm.com/developerworks/xml/library/x-think31.html > > > ----------------------------------------------------------------- > The xml-dev list is sponsored by XML.org > <http://www.xml.org>, an > initiative of OASIS <http://www.oasis-open.org> > > The list archives are at > http://lists.xml.org/archives/xml-dev/ > > To subscribe or unsubscribe from this list use the > subscription > manager: > <http://www.oasis-open.org/mlmanage/index.php> > > __________________________________________________ Do You Yahoo!? Tired of spam? Yahoo! Mail has the best spam protection around http://mail.yahoo.com
PURCHASE STYLUS STUDIO ONLINE TODAY!
Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!
Download The World's Best XML IDE!
Accelerate XML development with our award-winning XML IDE - Download a free trial today!
Subscribe in XML format