[XML-DEV Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message] RE: Substituting elements in a group for the group when redefi
Hi George, Thanks much for your help. I'm using Oxygen 6.2 and I thought it used Xerces 2.7.1 by default for validation, but I'm unable to find where to verify that in Oxygen. I created full documents that I tried to validate in Oxygen and got the same errors: Description: E rcase-Recurse.2: There is not a complete functional mapping between the particles. URL: http://www.w3.org/TR/xmlschema-1/#rcase-Recurse Description: E derivation-ok-restriction.5.4.2: Error for type 'PublicEventContactType'. The particle of the type is not a valid restriction of the particle of the base. URL: http://www.w3.org/TR/xmlschema-1/#derivation-ok-restriction How can I tell what XML processor Oxygen is using? If I do validation of an instance at the command line using Xerces, I get the same thing: java sax.Counter -v -s -f RedefineRestrictionTest.xml [Error] RedefineRestrictionTest2.xsd:4:51: rcase-Rcurse.2: There is not a complete functional mapping between the particles. [Error] RedefineRestrictionTest2.xsd:4:51: derivation-ok-restriction.5.4.2: Error for type 'PublicEventContactType'. The particle is not a valid restriction of the particle of the base. RedefineRestrictionTest2.xml: 360 ms (7 elems, 1 attrs, 0 spaces, 55 chars) How was the document you used (which was valid) different? Here are the documents I used to validate: Original: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ev="urn:cde.berkeley.edu:babl:events:1.00" targetNamespace="urn:cde.berkeley.edu:babl:events:1.00" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:element name="ContactName" type="xs:string"/> <xs:element name="ProfessionalAffiliations" type="xs:string"/> <xs:element name="Phones" type="xs:string"/> <xs:element name="EmailAddresses" type="xs:string"/> <xs:element name="Addresses" type="xs:string"/> <xs:element name="WebPages" type="xs:string"/> <xs:element name="PreferredContactMethod" type="xs:string"/> <xs:element name="PublicEventContactID" type="xs:string"/> <xs:element name="PublicEventContactTypes" type="xs:string"/> <xs:element name="PublicEventContactParentID" type="xs:string"/> <xs:group name="ContactInfo"> <xs:sequence> <xs:element ref="ev:ContactName" minOccurs="0"/> <xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/> <xs:element ref="ev:Phones" minOccurs="0"/> <xs:element ref="ev:EmailAddresses" minOccurs="0"/> <xs:element ref="ev:Addresses" minOccurs="0"/> <xs:element ref="ev:WebPages" minOccurs="0"/> <xs:element ref="ev:PreferredContactMethod" minOccurs="0"/> </xs:sequence> </xs:group> <xs:complexType name="PublicEventContactType"> <xs:sequence> <xs:element ref="ev:PublicEventContactID" minOccurs="0"/> <xs:group ref="ev:ContactInfo" minOccurs="0"/> <xs:element ref="ev:PublicEventContactTypes" minOccurs="0"/> <xs:element ref="ev:PublicEventContactParentID" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:schema> Redefine: <?xml version="1.0" encoding="UTF-8"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:ev="urn:cde.berkeley.edu:babl:events:1.00" targetNamespace="urn:cde.berkeley.edu:babl:events:1.00" elementFormDefault="qualified" attributeFormDefault="unqualified"> <xs:redefine schemaLocation="RedefineRestrictionTest1.xsd"> <xs:complexType name="PublicEventContactType"> <xs:complexContent> <xs:restriction base="ev:PublicEventContactType"> <xs:sequence> <!-- REMOVING THIS ELEMENT <xs:element ref="ev:PublicEventContactID" minOccurs="0"/> --> <xs:element ref="ev:ContactName" minOccurs="0"/> <xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/> <xs:element ref="ev:Phones" minOccurs="0"/> <xs:element ref="ev:EmailAddresses" minOccurs="0"/> <xs:element ref="ev:Addresses" minOccurs="0"/> <!-- REMOVING THIS ELEMENT <xs:element ref="ev:WebPages" minOccurs="0"/> --> <xs:element ref="ev:PreferredContactMethod" minOccurs="0"/> <!-- REMOVING THIS ELEMENT <xs:element ref="ev:PublicEventContactTypes" minOccurs="0"> </xs:element> --> <!-- REMOVING THIS ELEMENT <xs:element ref="ev:PublicEventContactParentID" minOccurs="0"> </xs:element> --> </xs:sequence> </xs:restriction> </xs:complexContent> </xs:complexType> </xs:redefine> </xs:schema> Instance: <?xml version="1.0" encoding="UTF-8"?> <PublicEventContact xmlns="urn:cde.berkeley.edu:babl:events:1.00" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="urn:cde.berkeley.edu:babl:events:1.00 RedefineRestrictionTest2.xsd"> <ContactName>Blah</ContactName> <ProfessionalAffiliations>Blah</ProfessionalAffiliations> <Phones>Blah</Phones> <EmailAddresses>Blah</EmailAddresses> <Addresses>Blah</Addresses> <PreferredContactMethod>Blah</PreferredContactMethod> </PublicEventContact> Thanks again, Allison -----Original Message----- From: George Cristian Bina [mailto:george@o...] Sent: Tuesday, October 03, 2006 1:02 AM To: Allison Bloodworth Cc: xml-dev@l... Subject: Re: Substituting elements in a group for the group when redefining Hi Allison, Xerces is happy with this equivalent model: <xs:restriction base="ev:PublicEventContactType"> <xs:sequence> <xs:sequence/> <xs:sequence minOccurs="0"> <xs:element ref="ev:ContactName" minOccurs="0"/> <xs:element ref="ev:ProfessionalAffiliations" minOccurs="0"/> <xs:element ref="ev:Phones" minOccurs="0"/> <xs:element ref="ev:EmailAddresses" minOccurs="0"/> <xs:element ref="ev:Addresses" minOccurs="0"/> <xs:element ref="ev:PreferredContactMethod" minOccurs="0"/> </xs:sequence> </xs:sequence> </xs:restriction> The algorithm for determining if a type is a valid restriction of other type as described in the spec is complicated and does not match always what the intuition tells you that is a valid restriction. XSV and Saxon AFAIK implement a better algorithm for checking restrictions, [1] I believe. This new algorithm probably will be specified in XML Schema 1.1 - I think some people on the list can confirm/infirm that. [1] http://www.ltg.ed.ac.uk/~ht/XML_Europe_2003.html Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com Allison Bloodworth wrote: > Hi, > > I tried to search the archives at http://lists.xml.org/archives/xml-dev/ on > this but got a message saying: The requested URL /cgi-bin/htsearch was not > found on this server. I also did a search of the internet but unfortunately > am having trouble finding info on this situation the XML Schema spec. > > I would like to redefine an element (PublicEventContactType) that is defined > in a schema as containing a group called ContactInfo. I don't want to > redefine the group itself, as those changes would apply to a lot of other > elements where I don't want the change made, but just within this > PublicEventContactType element itself. You would think that this would be > something that XML Schema would support, but I am getting an error message > from XML Spy 2005 saying, "The content model of complex type > 'ev:PublicEventContactType' is not a valid restriction of the content model > of complex type 'ev:PublicEventContactType' and a similar error in Oxygen > 6.2. > > Is this really not possible? You would think I could substitute the elements > in the group for the group in the redefine...I do understand that I could > remove them here and put them back in in an extension, but that would > require another schema. > > Original: > <xs:group name="ContactInfo"> > <xs:sequence> > <xs:element ref="ev:ContactName" minOccurs="0"/> > <xs:element ref="ev:ProfessionalAffiliations" > minOccurs="0"/> > <xs:element ref="ev:Phones" minOccurs="0"/> > <xs:element ref="ev:EmailAddresses" minOccurs="0"/> > <xs:element ref="ev:Addresses" minOccurs="0"/> > <xs:element ref="ev:WebPages" minOccurs="0"/> > <xs:element ref="ev:PreferredContactMethod" > minOccurs="0"/> > </xs:sequence> > </xs:group> > <xs:complexType name="PublicEventContactType"> > <xs:sequence> > <xs:element ref="ev:PublicEventContactID" > minOccurs="0"/> > <xs:group ref="ev:ContactInfo" minOccurs="0"/> > <xs:element ref="ev:PublicEventContactTypes" > minOccurs="0"/> > <xs:element ref="ev:PublicEventContactParentID" > minOccurs="0"> > </xs:sequence> > </xs:complexType> > > Redefine: > <xs:complexType name="PublicEventContactType"> > <xs:complexContent> > <xs:restriction > base="ev:PublicEventContactType"> > <xs:sequence> > <!-- REMOVING THIS ELEMENT > <xs:element ref="ev:PublicEventContactID" minOccurs="0"/> --> > <xs:element > ref="ev:ContactName" minOccurs="0"/> > <xs:element > ref="ev:ProfessionalAffiliations" minOccurs="0"/> > <xs:element ref="ev:Phones" > minOccurs="0"/> > <xs:element > ref="ev:EmailAddresses" minOccurs="0"/> > <xs:element > ref="ev:Addresses" minOccurs="0"/> > <!-- REMOVING THIS ELEMENT > <xs:element ref="ev:WebPages" minOccurs="0"/> --> > <xs:element > ref="ev:PreferredContactMethod" minOccurs="0"/> > <!-- REMOVING THIS ELEMENT > <xs:element ref="ev:PublicEventContactTypes" minOccurs="0"> > </xs:element> --> > <!-- REMOVING THIS ELEMENT > <xs:element ref="ev:PublicEventContactParentID" minOccurs="0"> > </xs:element> --> > </xs:sequence> > </xs:restriction> > </xs:complexContent> > </xs:complexType> > > Thanks for your help, > > Allison Bloodworth > Principal Administrative Analyst > Technology Program Office > University of California, Berkeley > (415) 377-8243 > abloodworth@b... > > > > > _______________________________________________________________________ > > XML-DEV is a publicly archived, unmoderated list hosted by OASIS > to support XML implementation and development. To minimize > spam in the archives, you must subscribe before posting. > > [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ > Or unsubscribe: xml-dev-unsubscribe@l... > subscribe: xml-dev-subscribe@l... > List archive: http://lists.xml.org/archives/xml-dev/ > List Guidelines: http://www.oasis-open.org/maillists/guidelines.php > _______________________________________________________________________ XML-DEV is a publicly archived, unmoderated list hosted by OASIS to support XML implementation and development. To minimize spam in the archives, you must subscribe before posting. [Un]Subscribe/change address: http://www.oasis-open.org/mlmanage/ Or unsubscribe: xml-dev-unsubscribe@l... subscribe: xml-dev-subscribe@l... List archive: http://lists.xml.org/archives/xml-dev/ List Guidelines: http://www.oasis-open.org/maillists/guidelines.php
[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index] |
PURCHASE STYLUS STUDIO ONLINE TODAY!Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced! Download The World's Best XML IDE!Accelerate XML development with our award-winning XML IDE - Download a free trial today! Subscribe in XML format
|