In Java, lavoriamo molto con JAXB2. Oggetto < - mapping> XML sono definiti come annotazioni in classi Java:Esiste un'API JavaScript per il binding XML - analogico a JAXB per Java?
@XmlRootElement(name="usertask", namespace="urn:test")
public class UserTask
{
@XmlElement(namespace="urn:test")
public String getAssignee() { ... }
public void setAssignee(String assignee) { ... }
}
JAXB runtime in grado di leggere queste annotazioni e creare unmarshaller per analizzare XML in un'istanza di un oggetto o di marshall un oggetto in XML.
JAXB navi un compilatore schema (XJC) in grado di generare annotata classi di schemi XML, che è un'altra grande caratteristica.
Ultimamente abbiamo lavorato molto con JavaScript sul lato client. Abbiamo anche bisogno dell'elaborazione XML lì. Ad esempio, è necessario analizzare i documenti WPS come this one. Questi documenti sono inoltre conformi allo different XML schemas (qui è the WPS 1.0.0 schema per l'XML di esempio). Sarebbe bello lavorare con oggetti JavaScript invece che con XML, questo fa risparmiare un enorme sforzo. In alcuni casi possiamo usare soluzioni basate su JSON come DWR, ma in molti casi dobbiamo elaborare XML sul lato client.
La mia domanda è:
C'è qualche analogico di JAXB per Javascript?
Alcuni strumenti che compilano uno schema XML in XML XML < -> mapping di oggetti e forniscono un runtime per la conversione tra oggetti XML e JavaScript?
ho potuto facilmente immaginare mappature generate in una forma come:
UserTask = new JSXML.XmlRootElement({
name: "usertask",
namespace: "urn:test",
properties: [
{
assignee: new JSXML.XmlElement({
name: "assignee",
namespace: "urn:test",
type: new JSXML.XSD.String()
})
}
]
});
e questo dovrebbe essere abbastanza sufficiente per costruire unmarshaller o marshaller.
Il supporto JSON per JAXB è esattamente ciò di cui ho bisogno. Ma sul lato client, in puro JavaScript. Jersey e Co. possono essere utilizzati sul lato server. Al momento abbiamo una soluzione lato server basata su DWR che funziona bene. Ma ho bisogno di una soluzione client-only (il proxy sul lato server è ancora ok). – lexicore