Werner,
That was a good start. Here is the code I have started with:
package com.circuitcity.instantcredit.demo.mapping;
import java.io.File;
import java.io.FileWriter;
import java.net.URL;
import java.net.URLClassLoader;
import java.util.ArrayList;
import java.util.Enumeration;
import java.util.List;
import java.util.jar.JarEntry;
import java.util.jar.JarFile;
import org.exolab.castor.tools.MappingTool;
import org.exolab.castor.xml.XMLContext;
import
com.circuitcity.instantcredit.domain.xml.accountlookup.csis.CSISRequestHeader;
public class CastorMappingGenerator {
public static List<Class> getClasses(String packageName) throws
Exception {
String packagePath = packageName.replace('.', '/');
URL[] classpath = ((URLClassLoader)
ClassLoader.getSystemClassLoader()).getURLs();
List<Class> result = new ArrayList<Class>();
for (URL url : classpath) {
File file = new File(url.toURI());
if (file.getPath().endsWith(".jar")) {
JarFile jarFile = new JarFile(file);
for (Enumeration<JarEntry> entries = jarFile.entries();
entries.hasMoreElements();) {
String entryName = (entries.nextElement()).getName();
if (entryName.matches(packagePath +
"/\\w*\\.class")) { // get only class files in package dir
ClassLoader classLoader = new URLClassLoader(new
URL[] { url });
String className = entryName.replace('/',
'.').substring(0, entryName.lastIndexOf('.'));
Class clazz = classLoader.loadClass(className);
result.add(clazz);
}
}
} else { // directory
File packageDirectory = new File(file.getPath() + "/" +
packagePath);
if (packageDirectory.listFiles() != null)
{
for (File f: packageDirectory.listFiles()) {
if (f.getPath().endsWith(".class")) {
String className = packageName + "." +
f.getName().substring(0, f.getName().lastIndexOf('.'));
ClassLoader classLoader = new
URLClassLoader(new URL[] { url });
Class clazz = classLoader.loadClass(className);
result.add(clazz);
}
}
}
}
}
return result;
}
public static void main(String[] args) throws Exception {
XMLContext xmlContext = new XMLContext();
MappingTool tool = xmlContext.createMappingTool();
List<Class> classes =
getClasses("com.circuitcity.instantcredit.domain.xml.accountlookup.csis");
classes.addAll(getClasses("com.circuitcity.instantcredit.domain.xml.accountlookup.request"));
classes.addAll(getClasses("com.circuitcity.instantcredit.domain.xml.accountlookup.response"));
classes.addAll(getClasses("com.circuitcity.instantcredit.domain.xml.creditapp.request"));
classes.addAll(getClasses("com.circuitcity.instantcredit.domain.xml.creditapp.sync"));
for (Class clazz : classes) {
System.out.println(clazz);
tool.addClass(clazz);
}
tool.write(new FileWriter("mappings/mappings.xml"));
}
}
And when I run it I get the following exception on the tool.write:
log4j:WARN No appenders could be found for logger
(org.castor.core.util.Configuration).
log4j:WARN Please initialize the log4j system properly.
class
com.circuitcity.instantcredit.domain.xml.accountlookup.csis.CSISRequestHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.csis.CSISResponseHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.AccountLookupRequest
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.AccountLookupRequestType
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.CSISRequestHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.CSISResponseHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.CustomerID
class com.circuitcity.instantcredit.domain.xml.accountlookup.request.Header
class
com.circuitcity.instantcredit.domain.xml.accountlookup.request.IdentificationType
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.Account
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.AccountLookupResponse
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.AccountLookupResponseType
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.Accounts
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.Applicant
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.CoApplicant
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.CSISRequestHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.CSISResponseHeader
class
com.circuitcity.instantcredit.domain.xml.accountlookup.response.FNANBApplicant
class com.circuitcity.instantcredit.domain.xml.accountlookup.response.Header
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Address
class com.circuitcity.instantcredit.domain.xml.creditapp.request.AddressType
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Applicant
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Application
class com.circuitcity.instantcredit.domain.xml.creditapp.request.AppType
class com.circuitcity.instantcredit.domain.xml.creditapp.request.AutoLoan
class com.circuitcity.instantcredit.domain.xml.creditapp.request.BankHistory
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.BankHistoryType
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.CheckingAccount
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Coapplicant
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Code10
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.CreditApplication
class com.circuitcity.instantcredit.domain.xml.creditapp.request.CreditType
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.CurrentAddress
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.CurrentEmployment
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.CurrentEmploymentType
class com.circuitcity.instantcredit.domain.xml.creditapp.request.DpsTpi
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.DriversLicense
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.DriversLicenseType
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.EmployerAddress
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.EmployerAddressType
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.EmploymentHistory
class com.circuitcity.instantcredit.domain.xml.creditapp.request.HomeType
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Insurance
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Language
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.MailingAddress
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.MajorCreditCards
class com.circuitcity.instantcredit.domain.xml.creditapp.request.OtherLoan
class com.circuitcity.instantcredit.domain.xml.creditapp.request.PostURI
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.PreviousAddress
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.PreviousEmployment
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.PurchaseCategory
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.RelativeInfo
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.RequiredAddressType
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Retired
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.RouteDisposition
class com.circuitcity.instantcredit.domain.xml.creditapp.request.Salary
class com.circuitcity.instantcredit.domain.xml.creditapp.request.SalaryType
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.SavingsAccount
class
com.circuitcity.instantcredit.domain.xml.creditapp.request.SelfEmployed
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationResponse
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationResponseSequence
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationResponseSequence2
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationResponseSequence2Choice
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationResponseSequence2ChoiceSequence
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationStatusRequest
class
com.circuitcity.instantcredit.domain.xml.creditapp.sync.CreditApplicationStatusResponse
class com.circuitcity.instantcredit.domain.xml.creditapp.sync.Customer
class com.circuitcity.instantcredit.domain.xml.creditapp.sync.Error
class com.circuitcity.instantcredit.domain.xml.creditapp.sync.ResponseType
Exception in thread "main" ValidationException: The following exception
occured while validating field: _classMappingList of class:
org.exolab.castor.mapping.xml.MappingRoot: The following exception
occured while validating field: _classChoice of class:
org.exolab.castor.mapping.xml.ClassMapping: The following exception
occured while validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /mapping
The following exception occured while validating field: _classChoice of
class: org.exolab.castor.mapping.xml.ClassMapping: The following
exception occured while validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Caused by: ValidationException: The following exception occured while
validating field: _classChoice of class:
org.exolab.castor.mapping.xml.ClassMapping: The following exception
occured while validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /class
The following exception occured while validating field:
_fieldMappingList of class: org.exolab.castor.mapping.xml.ClassChoice:
The following exception occured while validating field: _bindXml of
class: org.exolab.castor.mapping.xml.FieldMapping: The following
exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
... 6 more
Caused by: ValidationException: The following exception occured while
validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH:
The following exception occured while validating field: _bindXml of
class: org.exolab.castor.mapping.xml.FieldMapping: The following
exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 9 more
Caused by: ValidationException: The following exception occured while
validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /field
The following exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
... 13 more
Caused by: ValidationException: The following exception occured while
validating field: _name of class: org.exolab.castor.mapping.xml.BindXml:
Name '-error-if-this-is-used-' is not a valid QName.;
- location of error: XPATH: /bind-xml
Name '-error-if-this-is-used-' is not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 16 more
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 20 more
Caused by: ValidationException: The following exception occured while
validating field: _classChoice of class:
org.exolab.castor.mapping.xml.ClassMapping: The following exception
occured while validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /class
The following exception occured while validating field:
_fieldMappingList of class: org.exolab.castor.mapping.xml.ClassChoice:
The following exception occured while validating field: _bindXml of
class: org.exolab.castor.mapping.xml.FieldMapping: The following
exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Caused by: ValidationException: The following exception occured while
validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH:
The following exception occured while validating field: _bindXml of
class: org.exolab.castor.mapping.xml.FieldMapping: The following
exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 9 more
Caused by: ValidationException: The following exception occured while
validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /field
The following exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
... 13 more
Caused by: ValidationException: The following exception occured while
validating field: _name of class: org.exolab.castor.mapping.xml.BindXml:
Name '-error-if-this-is-used-' is not a valid QName.;
- location of error: XPATH: /bind-xml
Name '-error-if-this-is-used-' is not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 16 more
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 20 more
Caused by: ValidationException: The following exception occured while
validating field: _fieldMappingList of class:
org.exolab.castor.mapping.xml.ClassChoice: The following exception
occured while validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH:
The following exception occured while validating field: _bindXml of
class: org.exolab.castor.mapping.xml.FieldMapping: The following
exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Caused by: ValidationException: The following exception occured while
validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /field
The following exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
... 13 more
Caused by: ValidationException: The following exception occured while
validating field: _name of class: org.exolab.castor.mapping.xml.BindXml:
Name '-error-if-this-is-used-' is not a valid QName.;
- location of error: XPATH: /bind-xml
Name '-error-if-this-is-used-' is not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 16 more
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 20 more
Caused by: ValidationException: The following exception occured while
validating field: _bindXml of class:
org.exolab.castor.mapping.xml.FieldMapping: The following exception
occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.;
- location of error: XPATH: /field
The following exception occured while validating field: _name of class:
org.exolab.castor.mapping.xml.BindXml: Name '-error-if-this-is-used-' is
not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Caused by: ValidationException: The following exception occured while
validating field: _name of class: org.exolab.castor.mapping.xml.BindXml:
Name '-error-if-this-is-used-' is not a valid QName.;
- location of error: XPATH: /bind-xml
Name '-error-if-this-is-used-' is not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 16 more
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 20 more
Caused by: ValidationException: The following exception occured while
validating field: _name of class: org.exolab.castor.mapping.xml.BindXml:
Name '-error-if-this-is-used-' is not a valid QName.;
- location of error: XPATH: /bind-xml
Name '-error-if-this-is-used-' is not a valid QName.
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:278)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
... 20 more
Caused by: ValidationException: Name '-error-if-this-is-used-' is not a
valid QName.
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:134)
at
org.exolab.castor.xml.validators.NameValidator.validate(NameValidator.java:171)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:324)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1072)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1010)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validateInstance(FieldValidator.java:326)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:271)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at
org.exolab.castor.xml.FieldValidator.validate(FieldValidator.java:245)
at
org.exolab.castor.xml.util.XMLClassDescriptorImpl.validate(XMLClassDescriptorImpl.java:1065)
at org.exolab.castor.xml.Validator.validate(Validator.java:135)
at org.exolab.castor.xml.Marshaller.validate(Marshaller.java:2594)
at org.exolab.castor.xml.Marshaller.marshal(Marshaller.java:826)
at org.exolab.castor.tools.MappingTool.write(MappingTool.java:464)
at
com.circuitcity.instantcredit.demo.mapping.CastorMappingGenerator.main(CastorMappingGenerator.java:69)
Thoughts?
Ron
On Thu, Feb 14, 2008 at 3:29 AM, Werner Guttmann
<[EMAIL PROTECTED] <mailto:[EMAIL PROTECTED]>> wrote:
Ronald,
have a look at ...
http://castor.codehaus.org/javadoc/org/exolab/castor/tools/MappingTool.html
to get an idea what this tool offers in terms of API.
Regards
Werner
PS If that's not sufficient to get you going, please don't hesitate to
come back with questions.
Ronald R. DiFrango wrote:
> Werner,
>
> Thanks for that...the only piece I seem to be misssing is where
is this
> Mapping tool you speak of to generate the initial mapping files
from the
> Domain Objects?
>
> Thanks,
>
> Ron
>
> On Feb 13, 2008 3:23 AM, Werner Guttmann <[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>
> <mailto:[EMAIL PROTECTED]
<mailto:[EMAIL PROTECTED]>>> wrote:
>
> Hi Ronald,
>
> there's no tool that helps you to create the desired results
in one go.
> But you could
>
> a) create Java domain classes (without descriptors) from your
XML schema
> using the XML code generator
> b) use the mapping tool to create a mapping file from the
Java classes
> c) enrich this mapping file with information specific to JDO
> d) use the DDL generator to create DDL files from the mapping(s).
>
> Regards
> Werner
>
> PS A few months ago I was pondering the idea of allowing
folks to use
> <xsd:appInfo> elements to define persistence related
information within
> an XML schema, so that JDO descriptors could be generated
directly.
> Anybody wishing to join me on this idea, feel free .. ;-).
>
> Ronald R. DiFrango wrote:
> > All,
> >
> > I would like to take my XML Schema and convert it into JDO
mappings.
> > Also, I would like turn this into DDL.
> >
> > Is there a tool out there to do this?
> >
> > --
> > Ron DiFrango
> > Blog (www.captech-soa.blogspot.com
<http://www.captech-soa.blogspot.com>
> <http://www.captech-soa.blogspot.com>
> <http://www.captech-soa.blogspot.com>)
>
>
>
---------------------------------------------------------------------
> To unsubscribe from this list, please visit:
>
> http://xircles.codehaus.org/manage_email
>
>
>
>
>
> --
> Ron DiFrango
> Blog (www.captech-soa.blogspot.com
<http://www.captech-soa.blogspot.com>
<http://www.captech-soa.blogspot.com>)
---------------------------------------------------------------------
To unsubscribe from this list, please visit:
http://xircles.codehaus.org/manage_email
--
Ron DiFrango
Blog (www.captech-soa.blogspot.com <http://www.captech-soa.blogspot.com>)