XML模式的泛型

时间:2013-01-15 14:38:27

标签: java xml xsd jax-ws jax-rs

  

可能重复:
  How to create a generic XSD type

有没有人知道如何编写描述通用java类的XSD,如:

public class PageableResponse<T>
{
    @XmlElement(name = "Data", required = true)
    private List<T> data = new ArrayList<T>();

    public List<T> getData()
    {
        return data;
    }
}

提前谢谢。

1 个答案:

答案 0 :(得分:0)

您可以使用generateSchema上的JAXBContext方法找出与您的班级模型相关联的XML架构。

import java.io.IOException;
import javax.xml.bind.*;
import javax.xml.transform.Result;
import javax.xml.transform.stream.StreamResult;

public class Demo {

    public static void main(String[] args) throws Exception {
        JAXBContext jc = JAXBContext.newInstance(PageableResponse.class);   
        jc.generateSchema(new SchemaOutputResolver() {

            @Override
            public Result createOutput(String namespaceURI, String suggestedFileName)
                throws IOException {
                return new StreamResult(suggestedFileName);
            }

        });

    }

}

注意:

JAXB(JSR-222)实现不会往返该特定类。