Sto usando gli schemi OGC di https://github.com/highsource/ogc-schemas.
Sto guardando la struttura degli oggetti senza marshalling dalla deserializzazione di XML all'oggetto JaxB.
Sto cercando di costruire un oggetto personalizzato per serializzare in XML usando JaxB.
Lo schema di filtro è visibile http://schemas.opengis.net/filter/2.0/filter.xsd
Sto smascherando l'oggetto in questo modo:
JAXBElement<FilterType> filter = (JAXBElement<FilterType>) unmarshal.unmarshal(new File("Filter01.xml"));
Ora guardo gli oggetti interni e vedoche ho diversi tipi di filtro. Voglio creare un tipo di filtro che sia un operatore binario logico e inizializzarlo con i dati corretti. La parte di inizializzazione di questo è ciò che mi confonde.
IE:
BinaryLogicOpType blop = new BinaryLogicOpType();
risposte:
2 per risposta № 1Qualcosa in questo modo:
ObjectFactory objectFactory = new ObjectFactory()
BinaryLogicOpType _or = new BinaryLogicOpType();
JAXBElement<BinaryLogicOpType> root = objectFactory.createOr(_or);
BinaryComparisonOpType weightIsLessThan100 = new BinaryComparisonOpType();
_or.getOps()
.add(objectFactory.createPropertyIsLessThan(weightIsLessThan100));
JAXBElement<String> weightValueReference =
objectFactory.createValueReference("weight");
LiteralType _100 = new LiteralType();
_100.getContent().add(100);
JAXBElement<LiteralType> _100Literal = objectFactory.createLiteral(_100);
weightIsLessThan100.getExpression().add(weightValueReference);
weightIsLessThan100.getExpression().add(_100Literal);
E così via.