Jul 3, 2012

Μερικές πληροφορίες για declarative XML generation από το ADF


Τα ADF View Objects που κατασκευάζουμε μπορούν εύκολα να εξαχθούν σε μορφή XML. To API του oracle.jbo.server.RowImpl (που κληρονομείται από Entities και View Objects) μας δίνει διάφορες εκδοχές της μεθόδου writeXML() ώστε να ορίσουμε το βάθος της εξαγωγής, την ενδεχόμενη χρήση XSLT, τα πεδία που θα παραχθούν κλπ. Υπάρχουν ταυτόχρονα και μερικά "κόλπα" που μπορούμε να χρησιμοποιήσουμε από τους declarative editors, όπως:

  1. Τον προσδιορισμό του ονόματος (element name) που θα έχει κάποιο συγκεκριμένο πεδίο. Ανατρέχουμε λοιπόν στα Custom Properties του πεδίου και ορίζουμε την ιδιότητα XML_ELEMENT στο επιδιωκόμενο XML element name. Διαφορετικά, θα χρησιμοποιηθεί το attribute name, όπως έχει αποδοθεί από το ADF.


2. Σε περίπτωση που ένα πεδίο είναι κενό (null) τότε δεν θα εμφανιστεί στο παραγόμενο XML, εκτός και αν οριστεί με οποιαδήποτε τιμή (πχ 1) το custom property XML_EXPLICIT_NULL.
3. Για την ονομασία των root elements, χρειαζόμαστε δυο προσδιορισμούς: ο ένας για το result set (στην ουσία το view object/entity name) και ο δεύτερος σε επίπεδο εγγραφής. Στο ADF Entity/View Object μας προσθέτουμε τα custom non-translatable properties XML_ELEMENT, XML_ROW_ELEMENT.

 Περισσότερες πληροφορίες από το Oracle Documentation εδώ.

No comments: