|
View:
New views
4 Messages
—
Rating Filter:
Alert me
|
|
|
Xerces Problem - Compound Schemas - Name Resolution ErrorI'm getting a very weird error when using Xerces to parse an XSD document (Xerces as embedded in Oxygen 8.1). "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' to a(n) 'type definition' component." The full document is shown below as it's very simple. If anyone can make out what's wrong with it, or make a modification to it which will make it acceptable to the parser, or even point me to a useful resource for extra knowledge I need to have to address these errors, I would be very grateful. I've tried every possible variant of various irrelevant namespace and targetnamespace properties in response to a series of other silly conformance errors raised. I get the fewest errors of all with this configuration - only one error, but it's completely meaningless to me. I know W3C standards aren't parsimonious and rarely have smart defaults, but I've spent a long time on this - like 3 hours plus over a period of a fortnight trying every possible combination of targetNamespace, with imports, with schema locations, without schema locations. What I'm trying to achieve is unbelievably straightforward. God help me if I try to use XSD for anything major. The document is attempting to combine XHTML and XFORMS components into an XHTML variant which permits XFORMS 'model' elements to sit in the 'head' element of the XHTML. After this works, I'll also add XFORMS 'group' elements into the 'body' element of XHTML. In that way I hope to generate an XSD which allows me to edit XHTML+XFORMS combined documents in a validating XML editor. As I understand it, this schema definition and recombination is exactly what XSD is intended to do. I guess it's got to be just right. I'm sure there's some kind of error, but the error reports I'm getting don't help me get to the bottom of it at all. All help gratefully received. Cefn >>>>>>>>> "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' to a(n) 'type definition' component." <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd http://www.w3.org/2002/xforms http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd" > <xs:redefine schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" > <xs:complexType name="head"> <xs:complexContent> <xs:extension base="xhtml:head"> <xs:sequence> <xs:element ref="xforms:model"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:redefine> </xs:schema> |
|
|
Re: Xerces Problem - Compound Schemas - Name Resolution ErrorHello Cefn,
You are trying to redefine a complex type with the name head from the XHTML schema but there is no such complex type in that schema, there is only an element with the name head. If you look at the head element definition you see that it contains references to the head.misc group and therefore a possible approach will be to redefine that group to allow the xforms:model element. Note that xsi:schemaLocation does not have an effect on XML Schema documents, you need to use import in order to be able to make references to components from another namespace. You can find a valid schema below. <?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms"> <xs:import namespace="http://www.w3.org/2002/xforms" schemaLocation="http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd"/> <xs:redefine schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" > <xs:group name="head.misc"> <xs:choice> <xs:group ref="xhtml:head.misc"/> <xs:element ref="xforms:model"/> </xs:choice> </xs:group> </xs:redefine> </xs:schema> For compound documents that contain elements from different namespaces there is an ISO standard that defines NVDL - Namespace-based Validation and Dispatching Language. That allows to specify basically that sections from a document should be validated with different schemas. We made available an open source implementation of NVDL on top of Jing that supports as schemas XML Schema, Relax NG and Schematron, see http://www.oxygenxml.com/onvdl.html oXygen includes oNVDL and in the oXygen samples you can find an NVDL script for exactly XHTML with XForms and a sample XHTML+XForms file that you can edit with content completion and continuous validation in oXygen based on the sample NVDL script that combines XHTML and XForms. Best Regards, George --------------------------------------------------------------------- George Cristian Bina <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger http://www.oxygenxml.com xerces.apache.org@... wrote: > I'm getting a very weird error when using Xerces to parse an XSD > document (Xerces as embedded in Oxygen 8.1). > > "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' to > a(n) 'type definition' component." > > The full document is shown below as it's very simple. If anyone can make > out what's wrong with it, or make a modification to it which will make > it acceptable to the parser, or even point me to a useful resource for > extra knowledge I need to have to address these errors, I would be very > grateful. > > I've tried every possible variant of various irrelevant namespace and > targetnamespace properties in response to a series of other silly > conformance errors raised. I get the fewest errors of all with this > configuration - only one error, but it's completely meaningless to me. > > I know W3C standards aren't parsimonious and rarely have smart defaults, > but I've spent a long time on this - like 3 hours plus over a period of > a fortnight trying every possible combination of targetNamespace, with > imports, with schema locations, without schema locations. What I'm > trying to achieve is unbelievably straightforward. God help me if I try > to use XSD for anything major. > > The document is attempting to combine XHTML and XFORMS components into > an XHTML variant which permits XFORMS 'model' elements to sit in the > 'head' element of the XHTML. After this works, I'll also add XFORMS > 'group' elements into the 'body' element of XHTML. In that way I hope to > generate an XSD which allows me to edit XHTML+XFORMS combined documents > in a validating XML editor. As I understand it, this schema definition > and recombination is exactly what XSD is intended to do. > > I guess it's got to be just right. I'm sure there's some kind of error, > but the error reports I'm getting don't help me get to the bottom of it > at all. All help gratefully received. > > Cefn > http://cefn.com > > >>>>>>>>> > > "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' to > a(n) 'type definition' component." > > <?xml version="1.0" encoding="UTF-8"?> > <xs:schema > targetNamespace="http://www.w3.org/1999/xhtml" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > xmlns:xforms="http://www.w3.org/2002/xforms" > xsi:schemaLocation="http://www.w3.org/1999/xhtml > http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd > http://www.w3.org/2002/xforms > http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd" > > > <xs:redefine > schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" > > <xs:complexType name="head"> > <xs:complexContent> > <xs:extension base="xhtml:head"> > <xs:sequence> > <xs:element ref="xforms:model"/> > </xs:sequence> > </xs:extension> > </xs:complexContent> > </xs:complexType> > </xs:redefine> > > </xs:schema> --------------------------------------------------------------------- To unsubscribe, e-mail: j-users-unsubscribe@... For additional commands, e-mail: j-users-help@... |
|
|
Re: Xerces Problem - Compound Schemas - Name Resolution ErrorWhen I parse your XSD into a DOM, validate it, and serialize it back to XML I get the following modified XML:
<?xml version="1.0" encoding="UTF-8"?> <xs:schema targetNamespace="http://www.w3.org/1999/xhtml" xmlns:xforms="http://www.w3.org/2002/xforms" xmlns:xhtml="http://www.w3.org/1999/xhtml" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd http://www.w3.org/2002/xforms http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd"> <xs:redefine schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd"> <xs:complexType name="head"> <xs:complexContent> <xs:extension base="xhtml:head_fn3dktizrknc9pi"> <xs:sequence> <xs:element ref="xforms:model"/> </xs:sequence> </xs:extension> </xs:complexContent> </xs:complexType> </xs:redefine> </xs:schema> Xerces (2.9.0) gives the following two errors: [10:65]: src-redefine.5.b.d: 'extension' does not have a 'base' attribute that refers to the redefined element, 'http://www.w3.org/1999/xhtml,head'. <complexType> children of <redefine> elements must have <extension> or <restriction> descendants, with 'base' attributes that refer to themselves. [10:65]: src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' to a(n) 'type definition' component. Maybe this "extra" message heps to clearify your problem. Regards Dick Deneer Op 1-feb-2007, om 18:04 heeft xerces.apache.org@... het volgende geschreven:
|
|
|
Re: Xerces Problem - Compound Schemas - Name Resolution ErrorThe DOM shouldn't have been modified. The schema loader has a bug where it
mutates the DOM in order to rename the original component which is being redefined. This was actually fine before JAXP 1.3 came along. Back then the DOM was always built by the schema loader so it didn't matter whether we trashed it. It's not easy to fix. The "xhtml:head_fn3dktizrknc9pi" name should only appear in the XSModel. Michael Glavassevich XML Parser Development IBM Toronto Lab E-mail: mrglavas@... E-mail: mrglavas@... Dick Deneer <dick.deneer@...> wrote on 02/01/2007 05:09:50 PM: > When I parse your XSD into a DOM, validate it, and serialize it back > to XML I get the following modified XML: > > <?xml version="1.0" encoding="UTF-8"?> > <xs:schema targetNamespace="http://www.w3.org/1999/xhtml" > xmlns:xforms="http://www.w3.org/2002/xforms" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" xsi:schemaLocation=" > http://www.w3.org/1999/xhtml http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd > http://www.w3.org/2002/xforms http://www.w3. > org/MarkUp/Forms/2002/XForms-Schema.xsd"> > <xs:redefine schemaLocation="http://www.w3. > org/2002/08/xhtml/xhtml1-strict.xsd"> > <xs:complexType name="head"> > <xs:complexContent> > <xs:extension base="xhtml:head_fn3dktizrknc9pi"> > <xs:sequence> > <xs:element ref="xforms:model"/> > </xs:sequence> > </xs:extension> > </xs:complexContent> > </xs:complexType> > </xs:redefine> > </xs:schema> > > Xerces (2.9.0) gives the following two errors: > [10:65]: src-redefine.5.b.d: 'extension' does not have a 'base' > attribute that refers to the redefined element, 'http://www.w3. > org/1999/xhtml,head'. <complexType> children of <redefine> elements > must have <extension> or <restriction> descendants, with 'base' > attributes that refer to themselves. > > [10:65]: src-resolve: Cannot resolve the name 'xhtml: > head_fn3dktizrknc9pi' to a(n) 'type definition' component. > > Maybe this "extra" message heps to clearify your problem. > > Regards > Dick Deneer > > Op 1-feb-2007, om 18:04 heeft xerces.apache.org@... het > volgende geschreven: > > I'm getting a very weird error when using Xerces to parse an XSD > document (Xerces as embedded in Oxygen 8.1). > > "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' > to a(n) 'type definition' component." > > The full document is shown below as it's very simple. If anyone can > make out what's wrong with it, or make a modification to it which > will make it acceptable to the parser, or even point me to a useful > resource for extra knowledge I need to have to address these errors, > I would be very grateful. > > I've tried every possible variant of various irrelevant namespace > and targetnamespace properties in response to a series of other > silly conformance errors raised. I get the fewest errors of all with > this configuration - only one error, but it's completely meaningless to > > I know W3C standards aren't parsimonious and rarely have smart > defaults, but I've spent a long time on this - like 3 hours plus > over a period of a fortnight trying every possible combination of > targetNamespace, with imports, with schema locations, without schema > locations. What I'm trying to achieve is unbelievably > straightforward. God help me if I try to use XSD for anything major. > > The document is attempting to combine XHTML and XFORMS components > into an XHTML variant which permits XFORMS 'model' elements to sit > in the 'head' element of the XHTML. After this works, I'll also add > XFORMS 'group' elements into the 'body' element of XHTML. In that > way I hope to generate an XSD which allows me to edit XHTML+XFORMS > combined documents in a validating XML editor. As I understand it, > this schema definition and recombination is exactly what XSD is > intended to do. > > I guess it's got to be just right. I'm sure there's some kind of > error, but the error reports I'm getting don't help me get to the > bottom of it at all. All help gratefully received. > > Cefn > http://cefn.com > > >>>>>>>>> > > "E src-resolve: Cannot resolve the name 'xhtml:head_fn3dktizrknc9pi' > to a(n) 'type definition' component." > > <?xml version="1.0" encoding="UTF-8"?> > <xs:schema > targetNamespace="http://www.w3.org/1999/xhtml" > xmlns:xs="http://www.w3.org/2001/XMLSchema" > xmlns:xsi="http://www.w3.org/1999/XMLSchema/instance" > xmlns:xhtml="http://www.w3.org/1999/xhtml" > xmlns:xforms="http://www.w3.org/2002/xforms" > xsi:schemaLocation="http://www.w3.org/1999/xhtml http://www.w3. > org/2002/08/xhtml/xhtml1-strict.xsd http://www.w3.org/2002/xforms > http://www.w3.org/MarkUp/Forms/2002/XForms-Schema.xsd" > > > <xs:redefine schemaLocation="http://www.w3. > org/2002/08/xhtml/xhtml1-strict.xsd" > > <xs:complexType name="head"> > <xs:complexContent> > <xs:extension base="xhtml:head"> > <xs:sequence> > <xs:element ref="xforms:model"/> > </xs:sequence> > </xs:extension> > </xs:complexContent> > </xs:complexType> > </xs:redefine> > > </xs:schema> --------------------------------------------------------------------- To unsubscribe, e-mail: j-users-unsubscribe@... For additional commands, e-mail: j-users-help@... |
| Free embeddable forum powered by Nabble | Forum Help |