Yes, that is the error I got. Thanks for the help! Laura
-----Original Message----- From: Sandy Gao [mailto:[EMAIL PROTECTED] Sent: Tuesday, August 05, 2003 4:55 PM To: [EMAIL PROTECTED] Subject: Re: Keyrefs and mixed content Is the following the error message you got? [Error] ...:8:43: cvc-id.3: A field of identity constraint 'ZoneToZoneName' matched element 'Zone', but this element does not have a simple type. It's required that all elements that match the "field"s of a "key/keyref" to have a simple type. In your example, the element <Zone>Unite States</Zone> matches a field in the keyref, but it has a complex type. This seems to be a bug fixed after 2.0.1. HTH, Sandy Gao Software Developer, IBM Canada (1-905) 413-3255 [EMAIL PROTECTED] "Laura Smith" <[EMAIL PROTECTED] To: <[EMAIL PROTECTED]> com> cc: Subject: Keyrefs and mixed content 08/01/2003 11:55 AM Please respond to xerces-j-user The following schema and instance validated properly with the following: Name: org/apache/xerces Specification-Title: Java API for XML Processing Specification-Vendor: Sun Microsystems Inc. Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/xerces2-j Specification-Version: 1.2 Implementation-Version: Xerces-J_2_0_1_01 Implementation-Title: org.apache.xerces Comment: Xerces parser implementing JAXP Why won't it validate properly with this version? Name: org/apache/xerces/impl/Version Comment: @impl.name@ for http://xml.apache.org/xerces2-j Implementation-Title: org.apache.xerces.impl.Version Implementation-Version: 2.5.0 Implementation-Vendor: Apache Software Foundation Implementation-URL: http://xml.apache.org/xerces2-j/ Here's the schema: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs='http://www.w3.org/2001/XMLSchema'> <xs:element name="Zones"> <xs:complexType> <xs:sequence> <xs:element name="Zone" type="Zone" maxOccurs="unbounded"/> </xs:sequence> </xs:complexType> <xs:key name="ZoneName"> <xs:selector xpath="./Zone"/> <xs:field xpath="@name"/> </xs:key> <xs:keyref name="ZoneToZoneName" refer="ZoneName"> <xs:selector xpath="./Zone/Zone"/> <xs:field xpath="."/> </xs:keyref> </xs:element> <xs:complexType name="Zone" mixed="true" > <xs:choice minOccurs="0" maxOccurs="unbounded"> <xs:element name="Country" type="xs:string"/> <xs:element name="Zone" type="Zone"/> </xs:choice> <xs:attribute name="name" type="xs:string" use="optional"/> </xs:complexType> </xs:schema> And here's the instance: <?xml version="1.0" encoding="UTF-8"?> <Zones> <Zone name="United States"> <Country>US</Country> </Zone> <Zone name="United States Plus Mexico"> <Country>MX</Country> <Zone>United States</Zone> </Zone> </Zones> With the keyref I'm validating that the content of the nested zone (in this case <Zone>United States</Zone>) matches one of the zone names. Any idea why this no longer works? Thanks, Laura --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] --------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
