Thanks Craig!

I will update the DTD to use #IMPLIED instead of "false". 

--Keith


Craig Goss wrote:
> 
> My mapping problem is a side effect of (1) new collection wrapping code in
> XMLMappingLoader and (2) the DTD setting a default value for the container
> attribute.  When the DTD is referenced in mapping.xml, 'container="false"'
> is generated and the parse triggers the output I reported.  The short-term
> solution is to remove the DOCTYPE tag from mapping.xml.  This problem will
> likely go away once new wrapping code appears, but for the time being its
> real.
> 
> // =================================================
> // Line 459 triggers the wrap when container=false
> // =================================================
> 456:   //-- wrap collection in element?
> 457:   else if (nodeType == NodeType.Element) {
> 458:     if (fieldMap.hasContainer() && (!fieldMap.getContainer())) {
> 459:       xmlDesc = wrapCollection(xmlDesc);
> 460:     }
> 461:   }
> 
> // =================================================
> // DTD sets default value of containter to false
> // =================================================
> <!ELEMENT field ( description?, sql?, bind-xml?, ldap? )>
> <!ATTLIST field
>     name           NMTOKEN  #REQUIRED
>     type           NMTOKEN  #IMPLIED
>     required       ( true | false )  "false"
>     direct         ( true | false )  "false"
>     lazy           ( true | false )  "false"
>     handler        NMTOKEN  #IMPLIED
>     get-method     NMTOKEN  #IMPLIED
>     set-method     NMTOKEN  #IMPLIED
>     create-method  NMTOKEN  #IMPLIED
>     transient      (true|false) "false"
>     container      ( true | false ) "false"
>     collection     ( array | arraylist | vector | hashtable | collection |
> set | map | enumerate )  #IMPLIED>
> 
> // =================================================
> // Results when DOCTYPE is included in mapping.xml (wrong)
> // =================================================
> <?xml version="1.0" encoding="UTF-8"?>
> <breeds>
>   <breed>
>     <string>Boxer</string>
>     <string>Dalmatian</string>
>   </breed>
> </breeds>
> 
> // =================================================
> // Results when DOCTYPE is removed from mapping.xml (right)
> // =================================================
> <?xml version="1.0" encoding="UTF-8"?>
> <breeds>
>   <breed>Boxer</breed>
>   <breed>Dalmatian</breed>
> </breeds>
> 
> -----------------------------------------------------------
> 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