[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] When is an attribute an attribute?
Roy Tennant writes: > I've been trying to figure this out for a while with no success. It > seems to me that there are several quite different ways one can > encode information in XML. Are all of the following correct? When > and why would you choose one over another? Does it matter? Thank > you for your indulgence as I puzzle out what must surely be readily > apparent to most of you. It's not self-evident, and everyone has their own strongly-held opinions. Database people are tempted to force everything into attributes, because attributes are (slightly) typed while character data is not. Generally, though, you need to consider the following: - attribute values are harder to search for in search engines - attribute values often don't appear on the screen in editing tools (you have to open a special dialog or popup to see them) - attribute values can have no substructure - attribute values can be slightly more awkward to access in processing APIs - attributes are unordered, so there is no standard way to specify that one attribute's value should precede the other's (there is no guarantee that an API will give you the attributes in the same order that you specified them) My rule is to use attributes in markup just as I would use footnotes or endnotes in a book -- to provide extra information that is not part of the main content, but that is useful to know about it. By this rule, all of your examples are correct, but under different circumstances. > Example 1: > --------- > > <BOOK TITLE="The Call of the Wild" AUTHOR="London, Jack"\> In this case, all that really matters is that there's a book there. An XML document author might see <BOOK> in the main editing window, but get the attribute values in a pop-up only by clicking the mouse. It's not essential to know the book's title or author, and it is unlikely that anyone would want to search for it. Yes: insurance company list of property to be replaced; customs list of objects declared at border No: online bookstore; library catalogue > Example 2: > --------- > > <BOOK AUTHOR="London, Jack">The Call of the Wild</BOOK> In this one, the title matters but the author is just extra information. You'd probably use this for encoding a title inline, where the title will be printed as part of the paragraph (possibly in italics), but the author's name would appear only in a separate index or popup. <PARA>I enjoyed the book <BOOK AUTHOR="London, Jack">The Call of the Wild</BOOK>.</PARA> > Example 3: > --------- > > <BOOK> > <TITLE>The Call of the Wild</TITLE> > <AUTHOR>London, Jack</AUTHOR> > </BOOK> In this one, both the title and author are important -- you'd use this for the citation line of a quotation, in a bibliography, at an online bookstore, or in a library catalogue. I hope this helps. All the best, David -- David Megginson ak117@f... Microstar Software Ltd. dmeggins@m... http://home.sprynet.com/sprynet/dmeggins/ xml-dev: A list for W3C XML Developers. To post, mailto:xml-dev@i... Archived as: http://www.lists.ic.ac.uk/hypermail/xml-dev/ To (un)subscribe, mailto:majordomo@i... the following message; (un)subscribe xml-dev To subscribe to the digests, mailto:majordomo@i... the following message; subscribe xml-dev-digest List coordinator, Henry Rzepa (mailto:rzepa@i...)
|
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
|