Trong Java, chúng tôi làm việc rất nhiều với JAXB2. Object < - ánh xạ> XML được định nghĩa là chú thích trong các lớp Java:Có một API JavaScript để liên kết XML - tương tự với JAXB cho Java không?
@XmlRootElement(name="usertask", namespace="urn:test")
public class UserTask
{
@XmlElement(namespace="urn:test")
public String getAssignee() { ... }
public void setAssignee(String assignee) { ... }
}
JAXB runtime có thể đọc các chú thích và tạo unmarshaller để phân tích XML vào một trường hợp đối tượng hoặc marshall một đối tượng vào XML.
JAXB gửi một trình biên dịch lược đồ (XJC) có thể tạo ra các lớp chú thích từ các lược đồ XML, đây là một tính năng tuyệt vời khác.
Gần đây chúng tôi đã làm việc rất nhiều với JavaScript phía máy khách. Chúng ta cũng cần xử lý XML ở đó. Ví dụ, chúng ta cần phân tích các tài liệu WPS như this one. Các tài liệu này cũng tuân thủ different XML schemas (đây là the WPS 1.0.0 schema đối với XML mẫu). Nó sẽ là tuyệt vời để làm việc với các đối tượng JavaScript thay vì XML, điều này tiết kiệm rất nhiều nỗ lực thực sự. Trong một số trường hợp, chúng tôi có thể sử dụng các giải pháp dựa trên JSON như DWR, nhưng trong nhiều trường hợp, chúng tôi phải xử lý XML ở phía máy khách.
Câu hỏi của tôi là:
Có một số tương tự của JAXB cho JavaScript?
Một số công cụ sẽ biên dịch Lược đồ XML thành một số ánh xạ đối tượng XML và cung cấp thời gian chạy để chuyển đổi giữa các đối tượng XML và JavaScript?
tôi có thể dễ dàng tưởng tượng ánh xạ được tạo ra trong một hình thức như:
UserTask = new JSXML.XmlRootElement({
name: "usertask",
namespace: "urn:test",
properties: [
{
assignee: new JSXML.XmlElement({
name: "assignee",
namespace: "urn:test",
type: new JSXML.XSD.String()
})
}
]
});
Và đây nên được khá đủ để xây dựng unmarshaller hoặc marshaller.
Hỗ trợ JSON cho JAXB chính xác là những gì tôi cần. Nhưng ở phía máy khách, trong JavaScript thuần túy. Jersey và Co. có thể được sử dụng ở phía máy chủ. Ngay bây giờ, chúng tôi có một giải pháp phía máy chủ dựa trên DWR hoạt động tốt. Nhưng tôi cần giải pháp chỉ dành cho khách hàng (proxy phía máy chủ vẫn ổn). – lexicore