2012-07-11 5 views
5

Có cách nào (không phải từ các lớp/JAXB) để tạo các lược đồ XSD trong Java không? Tôi có thể phân tích nó với sự giúp đỡ của một số thư viện tức là XSOM, Jdom vv Nhưng không thể tìm thấy bất cứ điều gì để tạo ra.Tạo các tệp XSD trong Java

+3

Bạn có thể giải thích tại sao JAXB không phải là một lựa chọn không? –

Trả lời

2

Tôi không biết về bất kỳ cách nào dễ sử dụng. Tôi xem xét việc sử dụng dom4j (vì tôi sử dụng nó cho các mục đích khác, nhưng bất kỳ thư viện thao tác xml chung nào khác tương đương) và thủ công tạo nó (1). Nhưng sau đó tôi nhận ra rằng tôi có thể sử dụng JAXB để tạo ra mô hình đối tượng của lược đồ xml, điền nó với những gì tôi muốn (hóa ra là ít thoải mái hơn nhiều so với tôi hy vọng) và marshall nó (2). Thông qua JAXB của nó, nhưng không tạo các lớp cho lược đồ của bạn, vì vậy có thể nó có thể hữu ích cho bạn.

qua 2 là khó (nhưng không thể) để tạo lược đồ không hợp lệ, nhưng đôi khi khó tìm ra cách tạo giản đồ tôi muốn. Vì vậy, tôi đã kết thúc việc tạo nó trong trình soạn thảo, sau đó unmarshalling nó và khám phá đại diện đối tượng của nó. Cuối cùng, tạo ra nó thông qua 1) và sau đó xác nhận nó (mà tôi đã phải làm anyway) sẽ được ít việc vặt.

+0

OP cho biết anh ta không muốn sử dụng 'JAXB' trong quá trình tạo tệp' XSD' của mình. – GingerHead

+1

Có vẻ như anh ấy MAYBE không muốn tạo các lớp cho tài liệu của anh ấy và từ họ tạo ra lược đồ. Nhưng có lẽ anh ta không muốn sử dụng JAXB chút nào, chỉ có anh ta mới biết. – Alpedar

0

Để tạo XSD là sử dụng java lớp/mã hóa (là không thể tránh khỏi):

Chỉ cần sử dụng JavaDOM và tạo ra một document thì chính node và tạo nodes khác để đính kèm vào nó và thì đấy!

1

Bạn có thể sử dụng Eclipse XSD project, một phần của công cụ phát triển Eclipse Model. Nó cung cấp một mô hình dữ liệu và API để tạo các lược đồ có lập trình.