OK, the problem has been added to Jira (
http://jira.codehaus.org/browse/CASTOR-2484).  Thanks for your help!

On Thu, Jul 17, 2008 at 4:43 AM, Werner Guttmann <[EMAIL PROTECTED]>
wrote:

> Not sure, but the message seems to indicate that Castor already
> validates against the XML schema. Why don't you create a Jira issue, and
> atatch a JUnit test case (and all other required artifacts) so that we
> can replay the problem ?
>
> Werner
>
> Geoffrey Fairchild wrote:
> > Werner, do you have an idea of why I'm getting this error?
> >
> > On Wed, Jul 16, 2008 at 1:01 PM, Geoffrey Fairchild <
> [EMAIL PROTECTED]>
> > wrote:
> >
> >> When I make that change, I now get this error:
> >>
> >> org.exolab.castor.xml.MarshalException: cvc-elt.1: Cannot find the
> >> declaration of element 'dataSource'.{File: [not available]; line: 3;
> column:
> >> 52}
> >>
> >> dataSource is the top-level element in db-config-sample.xml and is
> defined
> >> in db-config-1.0.xsd.  For some reason, Castor isn't seeing the XSD.
> >>
> >>
> >> On Wed, Jul 16, 2008 at 12:58 PM, Werner Guttmann <
> [EMAIL PROTECTED]>
> >> wrote:
> >>
> >>> Hi Geoffrey,
> >>>
> >>> Geoffrey Fairchild wrote:
> >>>> I'm looking over some of what you said.  I'm trying to meet a
> deadline,
> >>> so
> >>>> right now, I'd just like to get the XSD working with the mapping.
> >>>  However,
> >>>> I do plan on looking into the XML code generator next week.
> >>>>
> >>>> I've changed a few things around, but I'm still having issues.  For
> some
> >>>> reason, http://www.castor.org/how-to-enable-xml-validation.html just
> >>> isn't
> >>>> clicking.
> >>>>
> >>>> *castor.xml*:
> >>>>
> >>>> <?xml version="1.0"?>
> >>>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version
> 1.0//EN"
> >>>>     "http://castor.org/mapping.dtd";>
> >>>>
> >>>> <mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>>>     xsi:noNamespaceSchemaLocation="db-config-1.0.xsd">
> >>>>
> >>> Just repeating myself here: ths is actually invalid. This should read:
> >>>
> >>> <?xml version="1.0"?>
> >>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version 1.0//EN"
> >>>    "http://castor.org/mapping.dtd";>
> >>>
> >>> <mapping>
> >>>
> >>> That should get you going again.
> >>>
> >>> Werner
> >>>
> >>>> *db-config-1.0.xsd*:
> >>>>
> >>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";>
> >>>>
> >>>> *db-config-sample.xml*:
> >>>>
> >>>> <?xml version="1.0" encoding="UTF-8"?>
> >>>> <dataSource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>>>     xsi:noNamespaceSchemaLocation="db-config-1.0.xsd">
> >>>>
> >>>> This is the error I get when I try to unmarshal:
> >>>>
> >>>> java.lang.RuntimeException:
> org.exolab.castor.mapping.MappingException:
> >>>> Nested error: org.exolab.castor.xml.MarshalException: Attribute
> >>> "xmlns:xsi"
> >>>> must be declared for element type "mapping".{File: [not available];
> >>> line: 6;
> >>>> column: 52}
> >>>>
> >>>> Can you tell me what I'm doing wrong here?
> >>>>
> >>>> Thanks for your patience.
> >>>>
> >>>> On Wed, Jul 16, 2008 at 12:40 PM, Geoffrey Fairchild <
> >>>> [EMAIL PROTECTED]> wrote:
> >>>>
> >>>>> I'll look into the XML code generator.  I didn't know what that was
> and
> >>>>> didn't see that it existed, and that may very well do what I want it
> to
> >>> do.
> >>>>>
> >>>>> On Wed, Jul 16, 2008 at 12:15 PM, Werner Guttmann <
> >>> [EMAIL PROTECTED]>
> >>>>> wrote:
> >>>>>
> >>>>>> Geoffrey,
> >>>>>>
> >>>>>> Geoffrey Fairchild wrote:
> >>>>>>> Hm, maybe I'm misunderstanding the purpose of the mapping file.  I
> >>>>>> simply
> >>>>>>> want to map from an XML file containing data into a Java object
> >>>>>>> representation of that data.  The Castor mapping XML file seems
> like
> >>> the
> >>>>>>> most logical way to do this without having to write a Java XML
> >>> parser.
> >>>>>> Yes, it is most commonly used way of XML data binding when you only
> >>> have
> >>>>>> Java classes, but no XML schema.
> >>>>>>> The
> >>>>>>> XSD merely provides requirements on how the XML file should be
> >>> formed.
> >>>>>> SUre. But with Castor XML, when you have an XML schema, there's a
> >>> second
> >>>>>> option to about XML data binding, i.e. mapping between XML and Java:
> >>> the
> >>>>>> XML code generator. You basically use the code generator to create
> >>> Java
> >>>>>> classes from an XML schema that automatically correspond to the XML
> >>>>>> schema defined. In addition to these domain classes, the code
> >>> generator
> >>>>>> will generate a second set of Java classes, i.e. the descriptor
> >>> classes.
> >>>>>> More further down.
> >>>>>>
> >>>>>>> I simply followed the guide at
> >>>>>>> http://www.castor.org/how-to-enable-xml-validation.html to get my
> >>> XML
> >>>>>> file
> >>>>>>> validated against the XSD, but I'm having the issues I previously
> >>>>>> mentioned.
> >>>>>> Okay, addressing just this question, have you seen my inline comment
> >>> re:
> >>>>>> the invalid use of the 'schemaLoaction' attribute in the mapping
> file
> >>> ?  >
> >>>>>>> What are you talking about when you mention "internal descriptor
> >>>>>> classes"?
> >>>>>> As explained above, when using the code generator to generate Java
> >>>>>> classes from an XML schema, the code generator will generate a
> second
> >>>>>> set of classes which we call 'descriptor classes'. There descriptor
> >>>>>> classes define the XML data binding between the Java classes
> generated
> >>>>>> and the XML contract defined in the XML schema. In other words,
> there
> >>> is
> >>>>>> no need to define a mapping file any more.
> >>>>>>
> >>>>>> Actually, when you use a mapping file, on startup Castor XML
> converts
> >>>>>> the mapping definitions to (internally use) descriptors.
> >>>>>>
> >>>>>>> I looked over your website, and it primarily talks about the
> mapping
> >>>>>> file,
> >>>>>>> so I'm a little confused.  I don't see any mention of "internal
> >>>>>> descriptor
> >>>>>>> classes."
> >>>>>> No, true. But in the left sided menu bar, you'll find a section 'XML
> >>>>>> code generator', incl. documentation about integration with build
> >>> tools
> >>>>>> such as Ant, Maven, the binding file, etc.
> >>>>>>
> >>>>>>> Thanks for your help.
> >>>>>>>
> >>>>>>> Geoff
> >>>>>>>
> >>>>>>> On Wed, Jul 16, 2008 at 4:40 AM, Werner Guttmann <
> >>>>>> [EMAIL PROTECTED]>
> >>>>>>> wrote:
> >>>>>>>
> >>>>>>>> Geoffrey,
> >>>>>>>>
> >>>>>>>> why do you want to be using a mapping file to map your Java
> classes
> >>> to
> >>>>>>>> XML when you have an XML schema available and as such could be in
> a
> >>>>>>>> position where you generate Java classes (and internal descriptor
> >>>>>>>> classes) from the XML schema, and as such avoid having to write a
> >>>>>>>> mapping file.
> >>>>>>>>
> >>>>>>>> Geoffrey Fairchild wrote:
> >>>>>>>>> First of all, if you have a Something Awful account, you can read
> a
> >>>>>> more
> >>>>>>>>> formatted version of this here:
> >>>>>>>>> http://forums.somethingawful.com/showthread.php?threadid=2902508
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I'll go ahead and rewrite this if you don't have an account.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I've been messing with this most of the afternoon, and I just
> can't
> >>>>>>>> figure
> >>>>>>>>> it out.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Basically, I've got an XML file I've got to parse.  I need to put
> >>> the
> >>>>>>>> data
> >>>>>>>>> into a few Java objects, and Castor is a really easy way to do
> it.
> >>>>>>>>  Castor's
> >>>>>>>>> working, and it's putting the data in the container properly.
>  The
> >>>>>>>> problem
> >>>>>>>>> is that I have an XSD schema file defined to validate the XML
> file,
> >>>>>> but
> >>>>>>>> I'm
> >>>>>>>>> having issues getting Castor to validate it.  The XSD is
> necessary
> >>>>>>>> because I
> >>>>>>>>> can type complete garbage into the XML file, and Castor reports
> >>>>>> success
> >>>>>>>> even
> >>>>>>>>> though it's totally invalid XML.
> >>>>>>>> That's an odd statement. If it's not valid XML, Castor will report
> >>>>>>>> exceptions.
> >>>>>>>>
> >>>>>>>>> I want to prevent this from happening.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I'll get to it.  Here're the pertinent lines from *castor.xml*,
> the
> >>>>>> file
> >>>>>>>>> that Castor uses to map the XML elements/attributes to the Java
> >>>>>> objects:
> >>>>>>>>>
> >>>>>>>>> <?xml version="1.0"?>
> >>>>>>>>>
> >>>>>>>>> <!DOCTYPE mapping PUBLIC "-//EXOLAB/Castor Mapping DTD Version
> >>>>>> 1.0//EN"
> >>>>>>>>>             "http://castor.org/mapping.dtd";>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> <mapping xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance";
> >>>>>>>>>
> >>>>>>>>>             xmlns="http://centurylogix.com/dbconfig";
> >>>>>>>>>
> >>>>>>>>>             xsi:schemaLocation="
> >>>>>>>> http://centurylogix.com/dbconfigdb-config-1.0.xsd";>
> >>>>>>>>>             <class
> >>>>>>>>>
> name="com.centurylogix.graph.hybrid.io.containers.DataSourceInfo">
> >>>>>>>>>
> >>>>>>>>>                         <map-to xml="dataSource" ns-uri="
> >>>>>>>>> http://centurylogix.com/dbconfig"; />
> >>>>>>>> Why on earth are you referencing the XML schema file from your
> >>> mapping
> >>>>>>>> file ? That does not make sense at all. If you want Castor to
> >>> validate
> >>>>>>>> your XML document instance against an XML schema, please refer to
> >>> the
> >>>>>>>> XML schema from the XML document instance 8and nowhere else).
> >>>>>>>>
> >>>>>>>>> If you need more than that, I can post it, but those should be
> the
> >>>>>> only
> >>>>>>>>> relevant lines.
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> Here're the first few lines from *db-config-1.0.xsd* which is
> >>>>>> obviously
> >>>>>>>> the
> >>>>>>>>> schema file used to verify the XML file:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema";
> >>>>>>>>>
> >>>>>>>>>             targetNamespace="http://centurylogix.com/dbconfig";
> >>>>>>>>>
> >>>>>>>>>             xmlns="http://centurylogix.com/dbconfig";
> >>>>>>>>>
> >>>>>>>>>             elementFormDefault="qualified">
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> And here're the first few lines from *db-config-sample.xml*, a
> >>> sample
> >>>>>> XML
> >>>>>>>>> file that Castor reads in and puts into the correct Java objects:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> <?xml version="1.0" encoding="UTF-8"?>
> >>>>>>>>>
> >>>>>>>>> <dataSource xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
> "
> >>>>>>>>>
> >>>>>>>>>             xsi:schemaLocation="
> >>>>>>>> http://centurylogix.com/dbconfigdb-config-1.0.xsd";>
> >>>>>>>>> I do have a *castor.properties* file defined with the following
> >>>>>> contents,
> >>>>>>>>> per http://www.castor.org/how-to-enable-xml-validation.html:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> org.exolab.castor.indent=true
> >>>>>>>>>
> >>>>>>>>> org.exolab.castor.parser.namespaces=true
> >>>>>>>>>
> >>>>>>>>> org.exolab.castor.sax.features=
> >>>>>> http://xml.org/sax/features/validation,\<http://xml.org/sax/features/validation,%5C>
> <http://xml.org/sax/features/validation,%5C>
> >>> <http://xml.org/sax/features/validation,%5C>
> >>>>>> <http://xml.org/sax/features/validation,%5C>
> >>>>>>>>>             
> >>>>>>>>> http://apache.org/xml/features/validation/schema,\<http://apache.org/xml/features/validation/schema,%5C>
> <http://apache.org/xml/features/validation/schema,%5C>
> >>> <http://apache.org/xml/features/validation/schema,%5C>
> >>>>>> <http://apache.org/xml/features/validation/schema,%5C>
> >>>>>>>> http://apache.org/xml/features/validation/schema-full-checking
> >>>>>>>>> When I try to unmarshal the data, this is the error I get:
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> java.lang.RuntimeException:
> >>>>>> org.exolab.castor.mapping.MappingException:
> >>>>>>>>> Nested error: org.exolab.castor.xml.MarshalException: Attribute
> >>>>>>>> "xmlns:xsi"
> >>>>>>>>> must be declared for element type "mapping".{File: [not
> available];
> >>>>>> line:
> >>>>>>>> 7;
> >>>>>>>>> column: 74}
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>>
> >>>>>>>>> I don't quite understand this error.  "xmlns:xsi" is clearly
> >>>  defined
> >>>>>> in
> >>>>>>>> the
> >>>>>>>>> mapping element in castor.xml.  Do any of you know what I'm doing
> >>>>>> wrong?
> >>>>>>>>> Any ideas at all?  I think this is one those things that's
> probably
> >>>>>>>> simple
> >>>>>>>>> to fix, but I've just been staring at it too long, and I'm not
> >>> seeing
> >>>>>> the
> >>>>>>>>> solution.  Thanks!
> >>>>>>>>>
> >>> ---------------------------------------------------------------------
> >>>>>>>> To unsubscribe from this list, please visit:
> >>>>>>>>
> >>>>>>>>    http://xircles.codehaus.org/manage_email
> >>>>>>>>
> >>>>>>>>
> >>>>>>>>
> >>>>>>
> ---------------------------------------------------------------------
> >>>>>> To unsubscribe from this list, please visit:
> >>>>>>
> >>>>>>    http://xircles.codehaus.org/manage_email
> >>>>>>
> >>>>>>
> >>>>>>
> >>> ---------------------------------------------------------------------
> >>> To unsubscribe from this list, please visit:
> >>>
> >>>    http://xircles.codehaus.org/manage_email
> >>>
> >>>
> >>>
> >
>
> ---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
>    http://xircles.codehaus.org/manage_email
>
>
>

Reply via email to