Существует ли JavaScript API для привязки XML - аналог JAXB для Java?

В Java мы много работаем с JAXB2. XML-отображения объектов <-> определяются как аннотации в классах Java:

@XmlRootElement(name="usertask", namespace="urn:test")
public class UserTask
{
    @XmlElement(namespace="urn:test")
    public String getAssignee() { ... }

    public void setAssignee(String assignee) { ... }
}

Среда выполнения JAXB может читать эти аннотации и создавать unmarshaller для анализа XML в экземпляре объекта или маршалинга объекта в XML.

JAXB поставляет компилятор схемы (XJC), который может генерировать аннотированные классы из XML-схем, что является еще одной замечательной возможностью.

В последнее время мы много работали с клиентским JavaScript. Нам также нужна обработка XML. Например, нам нужно проанализировать документы WPS, такие какэтот, Эти документы также соответствуютразные схемы XML (Здесьсхема WPS 1.0.0 для образца XML). Было бы здорово работать с объектами JavaScript вместо XML, это экономит огромное количество усилий. В некоторых случаях мы можем использовать решения на основе JSON, такие какDWR, но во многих случаях нам приходится обрабатывать XML на стороне клиента.

Мой вопрос:

Есть ли какой-нибудь аналог JAXB для JavaScript?

Какой-нибудь инструмент, который скомпилирует XML-схему в некоторое сопоставление объектов XML <-> и обеспечил бы среду для преобразования между объектами XML и JavaScript?

Я мог легко представить сопоставления, сгенерированные в такой форме:

UserTask = new JSXML.XmlRootElement({
  name: "usertask",
  namespace: "urn:test",
  properties: [
    {
      assignee: new JSXML.XmlElement({
        name: "assignee",
        namespace: "urn:test",
        type: new JSXML.XSD.String()
      })
    }
  ]
});

И этого должно быть достаточно, чтобы построить маршаллера или маршаллера.

Ответы на вопрос(4)

Ваш ответ на вопрос