3
我有這個類JAXB沒有爲包含生成的Java類的類生成所需的模式?
@XmlRootElement
public class GpsDataRequest{
//definition of variables
@XmlElement(required=true, type=GpxType.class)
public GpxType getGpxRoot() {
return gpxRoot;
}
@XmlElement(required=true, type=JourneyXML.class)
public JourneyXML getJourneyPlanRoot() {
return journeyPlanRoot;
}
@XmlElement(required=true)
public String getSecurityToken() {
return securityToken;
}
@XmlElement(required=true)
public UUID getUuid() {
return uuid;
}
}
當我生成使用此代碼的模式:
public class SchemaGenerator {
public static void main(String[] args)
{
try {
JAXBContext context=
JAXBContext.newInstance(GpsDataRequest.class);
SchemaOutputResolver sor =new DemoSchemaOutputResolver();
context.generateSchema(sor);
} catch (JAXBException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
public static class DemoSchemaOutputResolver extends SchemaOutputResolver {
@Override
public Result createOutput(String namespaceUri, String suggestedFileName)
throws IOException {
// create new file
File file = new File("request.xsd");
// create stream result
StreamResult result = new StreamResult(file);
// set system id
result.setSystemId(file.toURI().toURL().toString());
// return result
return result;
}
}
}
我得到的只是GpxType類的XSD。這是爲什麼?
爲了讓您知道,GpxType和JourneyXML是從XSD文件生成的。
如何執行此操作以生成我需要的適當XSD?
你的屬性是否有相應的'set'方法? – 2013-03-12 14:50:27
是的。我沒有添加完整的類,因爲我認爲它可能沒用。 – 2013-03-12 15:00:39
您使用的是JAXB(JSR-222)的哪個版本和實現? – 2013-03-12 15:04:10