OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

 


 

   How do I make a unique key ?

[ Lists Home | Date Index | Thread Index ]

I think I want to use xs:key as opposed to xs:unique because xs:key 
cannot be NULL.

OK, here's my schema fragment:

	<xs:complexType name="sectorType">
		<xs:sequence>
			<xs:element name="id">
				<xs:simpleType>
					<xs:restriction base="xs:integer">
						<xs:minInclusive value="1"/>
						<xs:maxInclusive value="10"/>
					</xs:restriction>
				</xs:simpleType>
				<xs:key name="sec_id">
					<xs:selector xpath=".//sector"/>
					<xs:field xpath="id"/>
				</xs:key>
			</xs:element>
			<xs:element thing1 …/>
			<xs:element thing2 …/>
			<xs:element thing3 …/>
		</xs:sequence>
	</xs:complexType>

	<xs:element name="sector" type="sectorType" minOccurs="1" 
maxOccurs="10">

There are no more than 10 sectors, numbered 1 thru 10.

But the following XML file comes up valid.  What did I miss ?

<?xml version="1.0" encoding="UTF-8"?>
<foo xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"; 
xsi:noNamespaceSchemaLocation="foo.xsd">
	<sector>
		<id>1</id>
		<thing1>…</thing1>
		<thing2>…</thing2>
		<thing3>…</thing3>
	</sector>
	<sector>
		<id>2</id>
		<thing1>…</thing1>
		<thing2>…</thing2>
		<thing3>…</thing3>
	</sector>
	<sector>
		<id>1</id>
		<thing1>…</thing1>
		<thing2>…</thing2>
		<thing3>…</thing3>
	</sector>
</foo>





 

News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 2001 XML.org. This site is hosted by OASIS