- From: Jim Stanley <JimS@Media-Services.Com>
- Date: Fri, 30 Jul 2004 16:30:22 -0700
- To: <xmlschema-dev@w3.org>
George and Michael,
Thanks *so* much! The clouds have miraculously parted and I'm finally
able to get my schema validating.
One more question:
I don't seem to be able to create one-to-many validation of my keys,
which is a problem because more than one keyed element may occur in a
given sequence:
<xs:complexType name="schedActivity">
<xs:sequence>
<xs:element name="activityID" type="xs:int"/>
</xs:sequence>
</xs:complexType>
Zero to infinite of those schedActivities need to go in the following:
<xs:complexType name="dayBucket">
<xs:sequence>
<xs:element name="dayNumber" type="xs:int"/>
<xs:element name="activityRef" type="xs:int"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="prodSchedule">
<xs:sequence>
<xs:element name="schedName" type="xs:string"/>
<xs:element name="dayBucket" type="dayBucket"
minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
I've defined my high-level keys and keyrefs as follows (assume
"document" owns all the above):
<xs:key name="schedActivity.PK">
<xs:selector xpath="schedActivity"/>
<xs:field xpath="activityID"/>
</xs:key>
<xs:keyref name="schedDayActivity.FK" refer="schedActivity.PK">
<xs:selector xpath="prodSchedule/dayBucket"/>
<xs:field xpath="activityRef"/>
</xs:keyref>
If I try something like the following in my XML:
<schedActivity>
<activityID>1</activityID>
</schedActivity>
<schedActivity>
<activityID>2</activityID>
</schedActivity>
<prodSchedule>
<schedName>My Schedule</schedName>
<dayBucket>
<dayNumber>1</dayNumber>
<activityRef>1</activityRef>
<activityRef>2</activityRef>
</dayBucket>
<prodSchedule>
XMLSpy tells me that the foreign key has to evaluate to exactly 0 or 1
node. I need 1 to unbounded, and I also need to make sure that any
activityRef elements have a reference to a declared schedActivity
object. What am I missing?
Thanks again,
Jim Stanley
Media Services, Inc.
Received on Friday, 30 July 2004 19:31:15 UTC