Velocity Reviews - Computer Hardware Reviews

Velocity Reviews > Newsgroups > Programming > XML > XML Structure

Reply
Thread Tools

XML Structure

 
 
shapper
Guest
Posts: n/a
 
      05-28-2009
Hello,

I am replicating an SQL database table in XML. I have the following
columns:

public class Bag {
public Guid Id { get; set; }
public String Content { get; set; }
public DateTime? Created { get; set; }
public String Name { get; set; }
public Boolean? Open { get; set; }
public DateTime? Updated { get; set; }
}

When I should use something like:

<Bag Id="" Open="">
<Content></Content>

Or

<Bag Id="">
<Content></Content>
<Open></Open>
</Bag>

Please, see the difference between the Open and Id ...
When should I use one or the other?

Thanks,
Miguel



 
Reply With Quote
 
 
 
 
Joe Kesselman
Guest
Posts: n/a
 
      05-29-2009
If you websearch on this question -- when to use attributes vs. when to
use children -- you'll find essentially the following advice:

1) Attributes can't be repeated; child elements can. That is, you can have
<Bag Id="" Open="">
<Content></Content>
<Content></Content>
</Bag>
but not two Open= attributes.

2) Attributes can only have simple text as their values. If you may
eventually want to structure the value, use a child element.

3) Attribute values are normalized (that is, line-break characters get
turned into spaces before the XML application sees them). I believe
there are workarounds involving numeric character references, but in
general, if you will want to retain newlines in the value you should use
a child element.

4) Attribute order is not meaningful, and the parser may return
attributes to the application in any order. If the ordering of values is
important to your application, attributes may not be the right choice.


In other words, in many ways, attributes are inherently more limited
than child elements.


But sometimes a value really is intended to modify/qualify/identify a
particular instance of an element or are "side information" to help
describe how that element and its content should be interpreted, and
will never be anything more than a single simple value. (Your Id=
attribute is a case of the former; schema type overrides are an example
of the latter.) In that situation, it may be easier for the humans who
are reading the document and/or writing the software to process it if
you make that value an attribute.




So in the end, this is really a matter of style. I'd suggest you look at
how attributes are used in markup languages written by other people --
other XML documents, HTML, and so on -- as illustrations of how this
decision has been made in the past. Then draw up a proposal, run it by
your intended user community, and see if they have strong (and
justified) opinions.
 
Reply With Quote
 
 
 
Reply

Thread Tools

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Trackbacks are On
Pingbacks are On
Refbacks are Off


Similar Threads
Thread Thread Starter Forum Replies Last Post
Difference between c structure and c++ structure raghunandan_1081@yahoo.com C++ 9 11-11-2011 07:34 AM
Memory allocation in Structure to Structure pra_ramli@rediffmail.com C++ 2 03-09-2006 05:51 AM
Different results parsing a XML file with XML::Simple (XML::Sax vs. XML::Parser) Erik Wasser Perl Misc 5 03-05-2006 10:09 PM
Copy String structure "A" to string structure "B" Leo Nunez C Programming 3 02-09-2005 05:14 AM
Pointers to structure and array of structure. Excluded_Middle C Programming 4 10-26-2004 05:39 AM



Advertisments