This is possible in XML
Schema, as the two <product> elements could be declared in different
namespaces with the namespace prefixes omitted (unqualified) in the XML instance
as shown below. However, as you correctly point out it's not the best approach
given the XML instance below, as the <product> element names should really
be more descriptive - i.e. the outer could be labeled to indicate "product
information" (however you choose to represent it in a tag - e.g.
<productinformation>, <product_information>, <product.info>,
or <ProductInformation>) and the inner could be labeled to indicate
"product information location" or "product URL" (the former is probably better
as it is agnostic as to the location representation mechanism and therefore
multiple mechanisms may be accepted).
Joe
Hello everybody,
I have to process a XML document that's
looks like this (I don't have
a choice in the layout since I'm receiving the
document from a third
party):
<?xml version="1.0"
encoding="UTF-8"?>
<root>
<product>
<name>Product
name</name>
<url>
<product>http://product.url.com</product>
<image>http://product.image.com</image>
</url>
</product>
<product>
<name>Product name
2</name>
<url>
<product>http://product.url.com</product>
<image>http://product.image.com</image>
</url>
</product>
</root>
As you can see
element name "product" is used as a product container
and as the child of url
element. I'm not XML expert but I think that's
not very smart. How can I
write a XSD schema to validate this type of
document when an element name can
mean two different things? Is it
even
possible?
Thanks,
Alex
-----------------------------------------------------------------
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>