[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Best Practice: Element with data or element with childelem

  • From: Evan Lenz <evan@evanlenz.net>
  • To: David Carlisle <davidc@nag.co.uk>
  • Date: Mon, 21 Dec 2009 11:38:25 -0800

Re:  Best Practice: Element with data or element with childelem
I have to concur with David's critiques, but I think I can generalize 
the point you're trying to make: data-driven code is cool. The less your 
code has to know about individual names in the input data, the more 
general it can be.

However, in practice, I find that data-driven transformations are 
overrated. I'd rather design an XML structure that fits well with the 
data. For example, I'd want to use attributes when I know the value will 
only ever be text. And then I'd prefer clear, elegant code using a 
combination of generic rules ("data-driven", if you like) and rules 
using hard-coded names, especially as they make explicit my intentions.

Purely data-driven code is ugly boilerplate. I'd only make special XML 
design concessions for data-driven processing when the input contains a 
huge list of properties (such as when being dumped from a database).

Evan Lenz
http://lenzconsulting.com


David Carlisle wrote:
>> which approach is better, an image element that contains the location of a GIF file:
>>
>>    <image>images/mighty_oj.gif</image>
>>
>> Or, an image element that contains a child element, which contains the location of the GIF file:
>>    
>>     <image>
>>         <src>images/mighty_oj.gif</src>
>>     </image>
>>     
>
> At that level of generality, without knowing anything about the rest of
> the document these approaches are identical (just rename image to foo and
> src to image  in the second example). So it's impossible to make any
> comparison.
>
>
>   
>> Likewise, which is better, a retailer
>>     
> Clearly that's just the same example with different element names.
>
>   
>> Using the second approach all this information can be provided in the
>> XML document: 
>>     
>
> It can be provided somewhere in either solution.
>
>   
>> The XSLT is not hardcoded to add a specific set of attributes;
>>     
>
> Of course it is! It has the hardcoded assumption that someone has gone
> to the trouble of designing an xml format with exactly the same
> attribute names as html but using elements rather than xml attributes. 
> I suppose it's possible someone has done that but unlikely.
>
> Far more likely is they just use the same attributes in which case you
> can just use <xsl:copy-of select="@*"/> or that the element names are
> different to the html attribute names in which case you need to encode
> a translation table in your conversion and "hardwire" specific names in
> the source and result document.
>
> In any case any features you can do with the second form you can clearly
> do with the equivalent 1st form, it just depends where the additional
> metadata is placed
>
> <imagedata>
>    <image>images/mighty_oj.gif</image>
>    <alt>...</alt>
> ...
> </imagedate>
>
> for example.
>
> David
>
>
> ________________________________________________________________________
> The Numerical Algorithms Group Ltd is a company registered in England
> and Wales with company number 1249803. The registered office is:
> Wilkinson House, Jordan Hill Road, Oxford OX2 8DR, United Kingdom.
>
> This e-mail has been scanned for all viruses by Star. The service is
> powered by MessageLabs. 
> ________________________________________________________________________
>
> _______________________________________________________________________
>
> XML-DEV is a publicly archived, unmoderated list hosted by OASIS
> to support XML implementation and development. To minimize
> spam in the archives, you must subscribe before posting.
>
> [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/
> Or unsubscribe: xml-dev-unsubscribe@lists.xml.org
> subscribe: xml-dev-subscribe@lists.xml.org
> List archive: http://lists.xml.org/archives/xml-dev/
> List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
>
>   



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


PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
 

Stylus Studio has published XML-DEV in RSS and ATOM formats, enabling users to easily subcribe to the list from their preferred news reader application.


Stylus Studio Sponsored Links are added links designed to provide related and additional information to the visitors of this website. they were not included by the author in the initial post. To view the content without the Sponsor Links please click here.

Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.