With XML mapping for public class Foo {  static public class Bar { ... }
}, there does not seem to be any way to control the mapping for the nested
class Foo.Bar.  It is a static inner class, so there would be no problem
instantiating it, but the syntax <field name="foo" type="Foo$Bar"> throws
an exception.

org.exolab.castor.mapping.MappingException: Nested error:
ValidationException: "Foo$Bar" is not a valid NMToken.;
   at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:111)
    - location of error: XPATH: mapping/class/field/@type

I believe it is true that "$" cannot occur in an NMTOKEN, and type is
declared to be NMTOKEN in mapping.dtd.  If it needs to stay NMTOKEN,
perhaps there could be some alternate syntax for referencing static inner
classes, with something else instead of $ ?  Or maybe some other change
that is already under consideration would help.

(using Castor 0.9.3)

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

Reply via email to