I don't know the correct term to use in the title. It's been ages since I've messed with XML, and I don't use it in any professional way, nor am I headed that direction.

(Before during and after this question, I will be searching http://www.w3.org and other sites.)

My question is this: can you have multiple sections of the same name? For example,

<A>
  <X name="one" />
  <X name="two" />
  <X name="three" />
</A>
<B>
  <X name="red" />
  <X name="green" />
  <X name="blue" />
</B>

Could the above also be done and have the same meaning as:

<A>
  <X name="one" />
</A>
<B>
  <X name="red" />
  <X name="green" />
</B>
<A>
  <X name="two" />
  <X name="three" />
</A>
<B>
  <X name="blue" />
</B>

Or more to the point, like this:

<A> <X name="one" /> </A>
<A> <X name="two" /> </A>
<B> <X name="red" /> </B>
<B> <X name="green" /> </B>
<A> <X name="three" /> </A>
<B> <X name="blue" /> </B>

I hope this poorly-worded question conveys the general idea. Perhaps I will be able to better word this later.

For those inquiring minds who want to ask, "Why?" my answer is this: I am trying to automate a documentation-to-code process; given a map file sucked into Excel and processed in Excel to correlate items, and then use Excel to output text containing XML-formatted fields. The "group" (A and B in my example) containing an "item" (X in the example) are not necessarily hierarchically display/processed.

Thank you for your attention and any assistance you provide.

[edit]Ah, I believe http://www.w3schools.com/xml/default.asp was where I was trying to find earlier.

This leads me to believe my answer is, "Yes, you can do this." And I believe the term in the title ought to be Child Elements rather than Sections.

The first and second and third documents are equivalent; only in terms of the hierachal relationship between nodes. They are not by any means equal, and depending on the actual XML language they belong to, might not be considered equivalent semantically; nor are they necessarily equivalent in terms of hierachy if nodes are considered instances of something as opposed to types of something. That is, you might be saying, in the first case, that the X's in A are constituent parts of some single 'definition' of A, whereas in the second case, you might be saying that each X within an A or B is a unique X 'instance' within some unique A or B 'instance'. It depends on the XML language or representation, but in most XML languages I've used, the treatment of nodes is as instances, and the order of nodes that are in a 'sibling level' sequence is considered to some degree; so, the first, second and third examples would certainly not be considered equivelant on any meaningful level in a language like say, XHTML or XSLT.

In short, if you're authoring the XML dialect, it's up to you; it's merely a design decision. If you're working within the bounds of an existing dialect, you have to consult the specification of the dialect, because there's no way you can assume any level of equivalence.

Thank you very much.

Be a part of the DaniWeb community

We're a friendly, industry-focused community of developers, IT pros, digital marketers, and technology enthusiasts meeting, networking, learning, and sharing knowledge.