XSD to XML : How To ?

Συζητήσεις για γλώσσες προγραμματισμού και θέματα σχετικά με προγραμματισμό.
Post Reply
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

XSD to XML : How To ?

Post by P@radox » Mon May 28, 2007 4:14 pm

Καλησπερα σας,

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

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

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

Θα μπορούσα να πάρω ενα sample.xml που έχω αλλα είναι μπακαλοδουλειά να δουλευω με parsing απο ενα plain text αρχείο για να παράξω ένα άλλο..ε.?
Image
P@radox's Space - Ελληνικότατο..!
User avatar
HdkiLLeR
Venus Project Founder
Venus Project Founder
Posts: 4356
Joined: Tue Jan 27, 2004 4:41 pm
Academic status: Alumnus/a
Gender:
Location: New York, NY
Contact:

Post by HdkiLLeR » Mon May 28, 2007 5:24 pm

Καταρχάς δεν έχω κάτι υπόψην μου για να σε βοηθήσω. Τώρα όσον αφορά το θέμα του parsing και το lib που θέλεις κάποιο parse δεν θα κάνει; Υποθέτω πως ναι.
-----BEGIN GEEK CODE BLOCK-----
Version: 3.12
GCS d-->--- s+:+ a- C++(+++) BILS++++$ P--- L++++>+++++ E--- W+++ N+ o+ K w--
O M+ V-- PS++>+++ PE- Y++ PGP++ t+ 5+ X+ R* tv b++ DI- D+ G+++ e+++>++++ h r++ y++
------END GEEK CODE BLOCK------

"UNIX is basically a simple operating system, but you have to be a genius to understand the simplicity." -- Dennis Ritchie
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

Post by P@radox » Mon May 28, 2007 7:06 pm

Για να το πώ καλύτερα..

Image

Πχ κάποιο plugin του eclipse.. η κάποιο εργαλείο του visual studio..
Image
P@radox's Space - Ελληνικότατο..!
User avatar
Tomahawk
Mbyte level
Mbyte level
Posts: 536
Joined: Tue May 18, 2004 1:50 pm

Post by Tomahawk » Mon May 28, 2007 7:08 pm

http://java.sun.com/webservices/

Αυτο νομιζω οτι θες.
Πολυ δυνατο και χρησιμο framework.
Περιμενω πως και πως να βρεθει project που να απαιτει την χρηση του ωστε να παιξω μαζι του.
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

Post by P@radox » Mon May 28, 2007 7:38 pm

Έχω υπ όψιν μου το JAXP.. αλλα ρώτησα μπας και κάποιος έχει βρεί τον μπελά του πρίν απο εμένα..
Image
P@radox's Space - Ελληνικότατο..!
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Tue May 29, 2007 8:32 pm

Το xsd το θες απλά για verification?
[Better to understand a little than to misunderstand a lot]
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

Post by P@radox » Wed May 30, 2007 12:32 am

Einherjar wrote:Το xsd το θες απλά για verification?
Αφ ενός ναι... αφ ετέρου.. έχω μόνο ενα xsd αρχείο απο το οποίο πρεπει να παράξω αντίστοιχα (valid) xml μηνύματα..
Image
P@radox's Space - Ελληνικότατο..!
User avatar
Einherjar
Venus Project Founder
Venus Project Founder
Posts: 3751
Joined: Tue Jan 27, 2004 4:42 pm
Academic status: Alumnus/a
Gender:
Location: Washington DC, USA
Contact:

Post by Einherjar » Wed May 30, 2007 12:21 pm

Πριν κάνα δυο χρόνια είχα παίξει αρκετά με xml αρχεία. Ένα πολύ καλό σύστημα που μπορείς να χρησιμοποιήσεις είναι το document object model aka DOM. Μια υλοποίηση αυτού είναι ;open source προέρχεται από το apache foundation και ονομάζεται xerces. Το έχω χρησιμοποιήσει και είναι πολύ καλό. Τσέκαρέ το και αν θες βοήθεια με το συγκεκριμένο εδώ είμαστε.
[Better to understand a little than to misunderstand a lot]
User avatar
lumenintervalum
Wow! Terabyte level
Wow! Terabyte level
Posts: 2377
Joined: Thu May 06, 2004 7:06 pm
Location: somewhere far beyond..
Contact:

Post by lumenintervalum » Wed May 30, 2007 1:07 pm

αυτό για τα web services που σου έστειλε ο Tomahawk είναι πολύ χρήσιμο..κάπου εκεί είχα βρει κι ένα tutorial που σου παράγει απ' ευθείας το jar που θες να χρησιμοποιήσεις..Αξίζει να το κοιτάξεις, αν θες να γλιτώσεις λίγο χρόνο..

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

---------
EDIT

Ίσως τελικά ήταν σχετικό με xmlbeans και θυμόμουν λάθος.. Ρίξε μια ματιά στα tutorials του apache http://xmlbeans.apache.org/
"Getting Started with Handling XML Through Schema"
We are just a moment in time
A blink of an eye
A dream for the blind
Visions from a dying brain
I hope you don't understand
_______________________
scraps& photo gallery στο deviantart- last update 25/08/06
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

Post by P@radox » Sun Jun 03, 2007 11:08 pm

Για να μην ανοίξω άλλο thread.. (μια και εχει σχέση με τα προηγούμενα..)

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


Image

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

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

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

---

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

Έχετε καμια πρόταση..?
Image
P@radox's Space - Ελληνικότατο..!
User avatar
tsilochr
Wow! Terabyte level
Wow! Terabyte level
Posts: 3246
Joined: Tue Mar 16, 2004 2:47 pm
Academic status: PhD
Gender:
Location: mm.aueb.gr
Contact:

Post by tsilochr » Mon Jun 04, 2007 2:13 am

Για να χρησιμοποιήσεις web services θεωρώ ότι πρέπει να υπάρχει ανάγκη για επικοινωνία μέσω δικτύου. Πχ η υπηρεσία να είναι σε άλλο pc από τα dir_in και dir_out. Γιατί να εισάγεις το overhead του δικτύου αν δεν είναι απαραίτητο?
User avatar
P@radox
Kilobyte level
Kilobyte level
Posts: 486
Joined: Tue Nov 09, 2004 4:50 pm
Academic status: Alumnus/a
Gender:
Location: Among The Few..
Contact:

Post by P@radox » Mon Jun 04, 2007 11:09 am

tsilochr wrote:Για να χρησιμοποιήσεις web services θεωρώ ότι πρέπει να υπάρχει ανάγκη για επικοινωνία μέσω δικτύου. Πχ η υπηρεσία να είναι σε άλλο pc από τα dir_in και dir_out. Γιατί να εισάγεις το overhead του δικτύου αν δεν είναι απαραίτητο?
Έχεις δίκιο.. λάθος μου που το ανέφερα χωρις να εξηγήσω.. !

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

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

Σε δεύτερη φάση .. μπορεί και να προσθέσω και κάποια web service χαρακτηριστικά..
Image
P@radox's Space - Ελληνικότατο..!
User avatar
Tomahawk
Mbyte level
Mbyte level
Posts: 536
Joined: Tue May 18, 2004 1:50 pm

Post by Tomahawk » Mon Jun 04, 2007 12:44 pm

Για κατι τοσο απλο μην κανεις 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!
Post Reply

Return to “Προγραμματισμός”