Hi Jing, Your schema is definately invalid. Looks like your DTD 2 XML Schema conversion didn't happen cleanly. You have some pretty strange attribute references, such as "xmlns:go", and "xmlns:rdf". Instead of attribute references, those need to be changed to namespace declarations. You'll need to clean that up a bit.
For example: <xs:attribute ref="xmlns:go" fixed="http://www.geneontology.org/dtds/go.dtd#" /> Move the "xmlns:go" to the root <schema> element as such: <schema xmlns:go="http://www.geneontology.org/dtds/go.dtd#" ...> The same needs to be done for the xmlns:rdf. Also you'll need to import the "rdf" schema, if you are going to be making references to it's datatypes and element definitions. So you'll need to hunt down a copy of that schema, and then use an appropriate import statement. --Keith [EMAIL PROTECTED] wrote: > > Thanks for the reply, Keith. Yes, I was using a 3-rd party tool called > dtd2xs to generate schema from my dtd. and here is the generated xsd: > > <?xml version="1.0"?> > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xs:element name="go:go"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" ref="go:version" /> > <xs:element ref="rdf:RDF" /> > </xs:sequence> > <xs:attribute ref="xmlns:go" > fixed="http://www.geneontology.org/dtds/go.dtd#" /> > <xs:attribute ref="xmlns:rdf" > fixed="http://www.w3.org/1999/02/22-rdf-syntax-ns#" /> > </xs:complexType> > </xs:element> > <xs:element name="go:version"> > <xs:complexType> > <xs:simpleContent> > <xs:extension base="xs:string"> > <xs:attribute name="timestamp" type="xs:string" /> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > <xs:element name="rdf:RDF"> > <xs:complexType> > <xs:sequence> > <xs:element minOccurs="0" maxOccurs="unbounded" ref="go:term" /> > </xs:sequence> > </xs:complexType> > </xs:element> > <xs:element name="go:term"> > <xs:complexType> > <xs:sequence> > <xs:element ref="go:name" /> > <xs:element minOccurs="0" maxOccurs="unbounded" ref="go:part_of" /> > </xs:sequence> > <xs:attribute ref="rdf:about" use="required" /> > </xs:complexType> > </xs:element> > <xs:element name="go:name" type="xs:string" /> > <xs:element name="go:part_of"> > <xs:complexType> > <xs:simpleContent> > <xs:extension base="xs:string"> > <xs:attribute ref="rdf:resource" use="required" /> > </xs:extension> > </xs:simpleContent> > </xs:complexType> > </xs:element> > </xs:schema> > > I just tried org.exolab.castor.xml.dtd.Converter with my dtd, and it > complained about the dtd, saying java.lang.IllegalArgumentException: > error: 'rdf:RDF' is not a valid NCName. > > Thanks for your continued advice. > > Jing > > > > > Jing, > > > > Castor's source generator uses XML Schema (see W3C XML Schema 1.0 > > Recommendation) for creating source code, not DTDs. You'll need to > > convert your DTD to an XML Schema before the source generator will be > > able to generate any source code for it. > > > > Castor has a tool (org.exolab.castor.xml.dtd.Converter) that can help > > you. There are also a number of 3rd party tools that can convert DTDs to > > XML Schema. > > > > --Keith > > > > [EMAIL PROTECTED] wrote: > >> > >> We really need help with this problem that I've posted earlier! and to > >> make it easier for you to identify the problem, i've minimized the dtd > >> as > >> the following: > >> > >> ################################################################## > >> > >> ENTITY parseType "CDATA #FIXED 'Resource'" > >> > >> ELEMENT go:go ( > > go:version?, > >> rdf:RDF > >> )> > >> > >> ATTLIST go:go > > xmlns:go CDATA #FIXED > >> "http://www.geneontology.org/dtds/go.dtd#" > >> xmlns:rdf CDATA #FIXED > >> "http://www.w3.org/1999/02/22-rdf-syntax-ns#" > >> > > >> > >> ELEMENT go:version (#PCDATA) > >> > >> ATTLIST go:version > > timestamp CDATA #IMPLIED > >> > > >> > >> ELEMENT rdf:RDF (go:term*) > >> > >> ELEMENT go:term ( > > go:name, > >> go:part_of* > >> )> > >> > >> ATTLIST go:term > > rdf:about CDATA #REQUIRED > >> > > >> > >> ELEMENT go:name (#PCDATA) > >> > >> ELEMENT go:part_of (#PCDATA) > >> ATTLIST go:part_of > > rdf:resource CDATA #REQUIRED > >> > > >> ######################################################################### > >> > >> with this dtd, I wasn't able to get any generated source, but only got > >> Exception in thread "main" java.lang.IllegalArgumentException: > >> getElementDecl: Namespace prefix not recognized 'go' > >> > >> [java] at > >> org.exolab.castor.xml.schema.Schema.getElementDecl(Unknown Source) > >> [java] at > >> org.exolab.castor.xml.schema.ElementDecl.getReference(Unknown Source) > >> [java] at > >> org.exolab.castor.xml.schema.ElementDecl.getType(Unknown Source) > >> [java] at > >> org.exolab.castor.builder.SourceFactory.processContentModel(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceFactory.processContentModel(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceFactory.processComplexType(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceFactory.createSourceCode(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.createClasses(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.createClasses(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.generateSource(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.generateSource(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.generateSource(Unknown > >> Source) > >> [java] at > >> org.exolab.castor.builder.SourceGenerator.main(Unknown > >> Source) > >> > >> Is this way to declare namespace acceptable to Castor? Will it matter > >> that > >> it uses two identical "go", one as the prefix and the other as the > >> element > >> name? Any suggestions will be greatly appreciated! > >> > >> Thanks! > >> Jing > >> > >> ----------------------------------------------------------- > >> If you wish to unsubscribe from this mailing, send mail to > >> [EMAIL PROTECTED] with a subject of: > >> unsubscribe castor-dev > > > > ----------------------------------------------------------- > > If you wish to unsubscribe from this mailing, send mail to > > [EMAIL PROTECTED] with a subject of: > > unsubscribe castor-dev > > > > ----------------------------------------------------------- > If you wish to unsubscribe from this mailing, send mail to > [EMAIL PROTECTED] with a subject of: > unsubscribe castor-dev ----------------------------------------------------------- If you wish to unsubscribe from this mailing, send mail to [EMAIL PROTECTED] with a subject of: unsubscribe castor-dev
