By using this site, you agree to our updated Privacy Policy and our Terms of Use. Manage your Cookies Settings.
425,696 Members | 2,213 Online
Bytes IT Community
+ Ask a Question
Need help? Post your question and get tips & solutions from a community of 425,696 IT Pros & Developers. It's quick & easy.

Strange XML nesting and schema validation

P: n/a
I've come across some strange xml, that I need to deal with, it looks
like this:-

<root>
<foo attr="1">Some random strange text.
<bar attr="2">blar</bar>
<bar attr="3">blar blar</bar>
<bar attr="4">blar blar blar</bar>
</foo>
</root>

Its the 'Some random strange text' in the between the foo tags along
with all the bar tags.
First of all, if the above actually legal well formed XML?

And if so, what would some schema look like to validate it?

I've tried something similar to this:-

....
<xs:element name="foo">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attr" type="xs:int" use="required"/>
</xs:extension>
</xs:simpleContent>
<xs:choice>
<xs:element name="bar" minOccurs="0">
<xs:complexType>
<xs:attribute name="attr" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>
</xs:choice>
</xs:complexType>
</xs:element>
....

Buts this doesn't work. :(

Anyone got any ideas?

Arthur.
Jul 20 '05 #1
Share this Question
Share on Google+
2 Replies


P: n/a
Hi Arthur,

It's allowed - it's known as mixed content. I wouldn't recommend it for
anything other than free-form text (like books, HTML, etc.) but if you
have no control over it...

Here is a type that will validate it:

<xs:element name="foo">
<xs:complexType mixed="true">
<xs:sequence>
<xs:element name="bar" minOccurs="0" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="attr" type="xs:int" use="required"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="attr" type="xs:int" use="required"/>
</xs:complexType>
</xs:element>

Hope that helps,
Priscilla

----------------------------------
Priscilla Walmsley
Author, Definitive XML Schema
http://www.datypic.com
----------------------------------

*** Sent via Developersdex http://www.developersdex.com ***
Don't just participate in USENET...get rewarded for it!
Jul 20 '05 #2

P: n/a
In article <lh**************@newsfe5-win.ntli.net>,
Arthur <ar****@fubaby.com> wrote:
Its the 'Some random strange text' in the between the foo tags along
with all the bar tags.
First of all, if the above actually legal well formed XML?
Consider

<p>This is <b>bold</b><p>

This "mixed context" is perfectly normal when XML is used for marking
up text - which was the original purpose of SGML and XML - but is not
usually a good idea when it's used for representing data structures.
And if so, what would some schema look like to validate it?


See http://www.w3.org/TR/xmlschema-0/#mixedContent

-- Richard
Jul 20 '05 #3

This discussion thread is closed

Replies have been disabled for this discussion.