Thank you very much Keith. I realized that there seem to be some
processing error with the dtd2xs. since i'm not an expert schema writer,
would you mind telling me  how to do the import?

I thought it would be better if i could get the Castor's Converter to
translate my dtd into the schema. would you please help me figure out why
I got "IllegalArgumentException: error: 'rdf:RDF' is not a valid NCName"?

again, the dtd looks like:

<!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
>


thanks a lot!
Jing




>
> 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
>

----------------------------------------------------------- 
If you wish to unsubscribe from this mailing, send mail to
[EMAIL PROTECTED] with a subject of:
        unsubscribe castor-dev

Reply via email to