Page 1 of 1

XSD to XML : How To ?

Posted: Mon May 28, 2007 4:14 pm
by P@radox
Καλησπερα σας,

Το πρόβλημα : Έχω ένα *.xsd αρχείο και θέλω να παράγω με βάση αυτο *.xml αρχεία. Δοκίμασα το XMLSpy [Schema>Generate Sample XML File] αλλα το αποτέλεσμα απέχει απο αυτό που θα ήθελα. Ουσιαστικά αυτο που θα ήθελα να κάνω είναι βρώ κάποιο εργαλείο-βιβλιοθήκη που να μου επιτρεπει με βάση το *.xsd αρχείο μου να παράγει *.xml αρχειάκια των οποιων τα πεδία θα τα παίρνω απο μια βάση δεδομένων..

[Δεν θελω μια εφαρμογή που να το κανει αυτο .. αλλα ενα πακέτο-βιβλιοθήκη που να μπορώ να χρησιμοποιήσω με μια γλώσσα για να φτιάξω μια δικιά μου εφαρμογή.]

Υπάρχει κάτι που να έχετε υπ όψιν..;

Θα μπορούσα να πάρω ενα sample.xml που έχω αλλα είναι μπακαλοδουλειά να δουλευω με parsing απο ενα plain text αρχείο για να παράξω ένα άλλο..ε.?

Posted: Mon May 28, 2007 5:24 pm
by HdkiLLeR
Καταρχάς δεν έχω κάτι υπόψην μου για να σε βοηθήσω. Τώρα όσον αφορά το θέμα του parsing και το lib που θέλεις κάποιο parse δεν θα κάνει; Υποθέτω πως ναι.

Posted: Mon May 28, 2007 7:06 pm
by P@radox
Για να το πώ καλύτερα..

Image

Πχ κάποιο plugin του eclipse.. η κάποιο εργαλείο του visual studio..

Posted: Mon May 28, 2007 7:08 pm
by Tomahawk
http://java.sun.com/webservices/

Αυτο νομιζω οτι θες.
Πολυ δυνατο και χρησιμο framework.
Περιμενω πως και πως να βρεθει project που να απαιτει την χρηση του ωστε να παιξω μαζι του.

Posted: Mon May 28, 2007 7:38 pm
by P@radox
Έχω υπ όψιν μου το JAXP.. αλλα ρώτησα μπας και κάποιος έχει βρεί τον μπελά του πρίν απο εμένα..

Posted: Tue May 29, 2007 8:32 pm
by Einherjar
Το xsd το θες απλά για verification?

Posted: Wed May 30, 2007 12:32 am
by P@radox
Einherjar wrote:Το xsd το θες απλά για verification?
Αφ ενός ναι... αφ ετέρου.. έχω μόνο ενα xsd αρχείο απο το οποίο πρεπει να παράξω αντίστοιχα (valid) xml μηνύματα..

Posted: Wed May 30, 2007 12:21 pm
by Einherjar
Πριν κάνα δυο χρόνια είχα παίξει αρκετά με xml αρχεία. Ένα πολύ καλό σύστημα που μπορείς να χρησιμοποιήσεις είναι το document object model aka DOM. Μια υλοποίηση αυτού είναι ;open source προέρχεται από το apache foundation και ονομάζεται xerces. Το έχω χρησιμοποιήσει και είναι πολύ καλό. Τσέκαρέ το και αν θες βοήθεια με το συγκεκριμένο εδώ είμαστε.

Posted: Wed May 30, 2007 1:07 pm
by lumenintervalum
αυτό για τα web services που σου έστειλε ο Tomahawk είναι πολύ χρήσιμο..κάπου εκεί είχα βρει κι ένα tutorial που σου παράγει απ' ευθείας το jar που θες να χρησιμοποιήσεις..Αξίζει να το κοιτάξεις, αν θες να γλιτώσεις λίγο χρόνο..

Δυστυχώς δεν έχω βρει ακόμα το λινκ..Θα κάνω edit όταν το βρω

---------
EDIT

Ίσως τελικά ήταν σχετικό με xmlbeans και θυμόμουν λάθος.. Ρίξε μια ματιά στα tutorials του apache http://xmlbeans.apache.org/
"Getting Started with Handling XML Through Schema"

Posted: Sun Jun 03, 2007 11:08 pm
by P@radox
Για να μην ανοίξω άλλο thread.. (μια και εχει σχέση με τα προηγούμενα..)

Πρέπει να κάνω το ακόλουθο ..


Image

Στο dir_in θα έχει απλα αρχεία κειμένου.. ενω στο dir_out θα έχει τα xml αρχεία..(που ελεγα στο προηγούμενο post..)..

Να φτιάξω μια απλή java εφαρμογή που να δουλέυει με StringBuffers και τα αρχεία κειμένου και να παράγει τα xml .. (θα έχουν στάνταρ μορφή.. απλα τα πεδία στα tags θα αλλάζουν..)
..

ή Να φτιάξω ενα web service που θα κανει παπάδες με το xds και όλα τα συναφή όπως εδειξα πιο πάνω..!

---

Κύριος παράγοντας για την απόφαση είναι .. η επιβάρυνση του συστήματος..
Και επιπλέον δεν θα αποτελεί πρωτεύουσα διεργασία του συστήματος..

Έχετε καμια πρόταση..?

Posted: Mon Jun 04, 2007 2:13 am
by tsilochr
Για να χρησιμοποιήσεις web services θεωρώ ότι πρέπει να υπάρχει ανάγκη για επικοινωνία μέσω δικτύου. Πχ η υπηρεσία να είναι σε άλλο pc από τα dir_in και dir_out. Γιατί να εισάγεις το overhead του δικτύου αν δεν είναι απαραίτητο?

Posted: Mon Jun 04, 2007 11:09 am
by P@radox
tsilochr wrote:Για να χρησιμοποιήσεις web services θεωρώ ότι πρέπει να υπάρχει ανάγκη για επικοινωνία μέσω δικτύου. Πχ η υπηρεσία να είναι σε άλλο pc από τα dir_in και dir_out. Γιατί να εισάγεις το overhead του δικτύου αν δεν είναι απαραίτητο?
Έχεις δίκιο.. λάθος μου που το ανέφερα χωρις να εξηγήσω.. !

Απλα υπάρχει η πιθανότητα να μπορει να στέλνει τα αρχεία σε ένα απομακρυνσμένο dir_out..

Τελικά λεω να κάνω ενα local java προγραμματάκι και θα το βάλω να τρέχει ώς Windows Service..!

Σε δεύτερη φάση .. μπορεί και να προσθέσω και κάποια web service χαρακτηριστικά..

Posted: Mon Jun 04, 2007 12:44 pm
by Tomahawk
Για κατι τοσο απλο μην κανεις WS.

Βρηκα προσφατα αυτο : http://ejoe.sourceforge.net/
Δες το παραδειγμα να δεις ΠΟΣΟ απλο ειναι..

Με ελαχιστες γραμμες κωδικα στον client οπως ενα timer thread που ελεγχει για νεα αρχεια και με το που βρει καινουργιο καλει απλα την μεθοδο που κανει expose ο server.
Eπισης με ελαχιστο κωδικα στον server υπαρχει η μεθοδος που καλει ο client και παιρνοντας ολοκληρο το αντικειμενο που εστειλε, με 2 γραμμες κωδικα χρησιμοποιεις αυτο ( http://xstream.codehaus.org/ ) και παραγεις το XML μου χωρις να μπλεξεις και με xsd.
Αν θελεις παραπανω ελεγχο στο xml που παραγετε θα βρεις και αλλα ευχρηστα frameworks.

Αν εχω καταλαβει καλα σε 1 μερα το εχεις φτιαξει,το εχεις κανει debug και τρεχει σαν win service!