Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   XML (http://www.velocityreviews.com/forums/f32-xml.html)
-   -   XML schema: duplicate element occurences (http://www.velocityreviews.com/forums/t167428-xml-schema-duplicate-element-occurences.html)

John Jørgensen 07-07-2004 12:31 PM

XML schema: duplicate element occurences
 
Hi

How do I express - in XSD - that an element can contain a sequenced
list of elements, and one of these elements may occur (0-n times) at
BOTH sequence position x AND y?

Example:
<PRIORITY sorting="900"/>
<NAMEINFO>
subtags and data
</NAMEINFO>
<EXTRA_LINE>
subtags and data
</EXTRA_LINE>
<EXTRA_LINE>
subtags and data
</EXTRA_LINE>
<ADDRINFO>
subtags and data
</ADDRINFO>
<PHONEINFO>
subtags and data
</PHONEINFO>
<EXTRA_LINE>
subtags and data
</EXTRA_LINE>

Currently, my schema looks something like:
<xs:complexType>
<xs:sequence>
<xs:element name="PRIORITY" maxOccurs="1" minOccurs="1">
blablabla
</xs:element>
<xs:element name="NAMEINFO" minOccurs="0">
blablabla
</xs:element>
<xs:element name="LOGO" minOccurs="0">
blablabla
</xs:element>
<xs:element name="EXTRA_LINE" maxOccurs="10" minOccurs="0">
blablabla
</xs:element>
<xs:element name="ADDRINFO">
blablabla
</xs:element>
<xs:element name="PHONEINFO">
blablabla
</xs:element>
<xs:element name="EXTRA_LINE" maxOccurs="10" minOccurs="0">
blablabla
</xs:element>
</xs:complexType>
</xs:element>

Validation says: Duplicated definition for: 'EXTRA_LINE'

I know I can just rename one of my EXTRA_LINE groups or add an extra
level somewhere, but I'm not too keen on that...

Any suggestions?

Regards
/John

Henry S. Thompson 07-08-2004 10:19 AM

Re: XML schema: duplicate element occurences
 
That's not a very helpful error message, I agree, but _if_ the
blablabla that you have edited out is <xs:complexType>
.. . . </xs:complexType> then there is indeed a problem. You're not
allowed to have the same element with two different type definitions
in the same content model. If your two EXTRA_LINE elements actually
have (textually) the _same_ type definition, move it out to the top
level, give it a name, and change your model above to use

<xs:element name="EXTRA_LINE" ref="[your type]" min=0 max=10/>

and you should be fine.

ht

[1] http://www.w3.org/2001/03/webdata/xsv
--
Henry S. Thompson, HCRC Language Technology Group, University of Edinburgh
Half-time member of W3C Team
2 Buccleuch Place, Edinburgh EH8 9LW, SCOTLAND -- (44) 131 650-4440
Fax: (44) 131 650-4587, e-mail: ht@inf.ed.ac.uk
URL: http://www.ltg.ed.ac.uk/~ht/
[mail really from me _always_ has this .sig -- mail without it is forged spam]

John Jørgensen 07-09-2004 09:11 AM

Re: XML schema: duplicate element occurences
 

The "<xs:element name="EXTRA_LINE" ref="[your type]" min=0 max=10/>"
was excatly what I needed...

Thanks a lot!!!

/John



All times are GMT. The time now is 10:59 PM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.