Discussione:
Validare XML con XSD
(troppo vecchio per rispondere)
aretium
2018-07-04 15:55:44 UTC
Permalink
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.

Grazie

Giuseppe
Dr.UgoGagliardelli
2018-07-04 19:45:49 UTC
Permalink
Post by aretium
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.
In rpg non ne conosco, potresti valutare https://xerces.apache.org/ c'e'
un porting C++ che potresti compilare per il pase.
aretium
2018-07-05 07:06:32 UTC
Permalink
Post by Dr.UgoGagliardelli
Post by aretium
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.
In rpg non ne conosco, potresti valutare https://xerces.apache.org/ c'e'
un porting C++ che potresti compilare per il pase.
Grazie Dott.Ugo,
seguendo il suo consiglio, passerò direttamente a java con le classi
javax.xml.validation installandole su iseries.
Dr.UgoGagliardelli
2018-07-05 08:06:21 UTC
Permalink
Post by aretium
Post by Dr.UgoGagliardelli
Post by aretium
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.
In rpg non ne conosco, potresti valutare https://xerces.apache.org/
c'e'
Post by Dr.UgoGagliardelli
un porting C++ che potresti compilare per il pase.
Grazie Dott.Ugo,
seguendo il suo consiglio, passerò direttamente a java con le classi
javax.xml.validation installandole su iseries.
Sicuramente e' meglio.
Comunque non c'e' da installare niente, se non il jdk7 che include anche
il package javax.xml.validation.

Se posso darti un consiglio, che e' una delle strade piu' frequentate
nelle mie integrazioni, creati un servizio che esegue una classe java,
la quale ascolta una dtaq, magari a chiavi, e risponde su una seconda
dtaq, anche questa a chiavi. In un rpg sara' estremamente facile crerti
una procedura che faccia send/receive verso quelle dtaq. Poi stara' a te
personalizzare il formato dei messaggi, a seconda delle tue esigenze.
Ad esempio, nel tuo caso, potrebbe essere una cosa stile tipo-argomento:
"validazioneXml",<path dello schema>,<path del documento xml>
la risposta sara' del tipo:
"validazioneXml",<true/false>,<messaggio di errore>
I due messaggi avranno la stessa chiave, generata con uno dei metodi
canonici, una dtaara ad esempio, per il messaggio send che verra'
copiata nel messaggio receive dal programma java.
Nulla vieta che nel messaggio send ci sia anche il nome di un programma
da chiamare che, tramite ProgramCall del jt400, il programma java potra'
chiamare dinamicamente.
Con questo tipo di architettura, potrai beneficiare del fatto che con un
servizio unico, potrai implementare richieste di diverso tipo.

Poiche' generalmente i programmi RPG non sono thread-safe, rendi le
chiamate tali mediante un ExecutorService implementato dal programma
java, e se sarai al riparo da concorrenze e contese.
aretium
2018-07-05 15:39:52 UTC
Permalink
Post by Dr.UgoGagliardelli
Post by aretium
Post by Dr.UgoGagliardelli
Post by aretium
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.
In rpg non ne conosco, potresti valutare https://xerces.apache.org/
c'e'
Post by Dr.UgoGagliardelli
un porting C++ che potresti compilare per il pase.
Grazie Dott.Ugo,
seguendo il suo consiglio, passerò direttamente a java con le classi
javax.xml.validation installandole su iseries.
Sicuramente e' meglio.
Comunque non c'e' da installare niente, se non il jdk7 che include anche
il package javax.xml.validation.
Se posso darti un consiglio, che e' una delle strade piu' frequentate
nelle mie integrazioni, creati un servizio che esegue una classe java,
la quale ascolta una dtaq, magari a chiavi, e risponde su una seconda
dtaq, anche questa a chiavi. In un rpg sara' estremamente facile crerti
una procedura che faccia send/receive verso quelle dtaq. Poi stara' a te
personalizzare il formato dei messaggi, a seconda delle tue esigenze.
"validazioneXml",<path dello schema>,<path del documento xml>
"validazioneXml",<true/false>,<messaggio di errore>
I due messaggi avranno la stessa chiave, generata con uno dei metodi
canonici, una dtaara ad esempio, per il messaggio send che verra'
copiata nel messaggio receive dal programma java.
Nulla vieta che nel messaggio send ci sia anche il nome di un programma
da chiamare che, tramite ProgramCall del jt400, il programma java potra'
chiamare dinamicamente.
Con questo tipo di architettura, potrai beneficiare del fatto che con un
servizio unico, potrai implementare richieste di diverso tipo.
Poiche' generalmente i programmi RPG non sono thread-safe, rendi le
chiamate tali mediante un ExecutorService implementato dal programma
java, e se sarai al riparo da concorrenze e contese.
Grazie Dott.Ugo,
la prima parte quella della dataque mi è chiara e comprensibile,
la seconda parte thread-safe e ExecutorService non riesco a comprendere,
Le sarei grato se può dare una breve spiegazione sul significato?

Grazie
Dr.UgoGagliardelli
2018-07-05 17:22:25 UTC
Permalink
Post by aretium
Post by Dr.UgoGagliardelli
Post by aretium
Post by Dr.UgoGagliardelli
Post by aretium
Buonasera a tutti,
è possibile da RPG validare un XML con il relativo XSD?
in rete ho trovato tools a pagamento come RPG XML SUITE,
mentre sto cercando qualcosa di free.
In rpg non ne conosco, potresti valutare https://xerces.apache.org/
c'e'
Post by Dr.UgoGagliardelli
un porting C++ che potresti compilare per il pase.
Grazie Dott.Ugo,
seguendo il suo consiglio, passerò direttamente a java con le classi
javax.xml.validation installandole su iseries.
Sicuramente e' meglio.
Comunque non c'e' da installare niente, se non il jdk7 che include anche
il package javax.xml.validation.
Se posso darti un consiglio, che e' una delle strade piu' frequentate
nelle mie integrazioni, creati un servizio che esegue una classe java,
la quale ascolta una dtaq, magari a chiavi, e risponde su una seconda
dtaq, anche questa a chiavi. In un rpg sara' estremamente facile crerti
una procedura che faccia send/receive verso quelle dtaq. Poi stara' a te
personalizzare il formato dei messaggi, a seconda delle tue esigenze.
"validazioneXml",<path dello schema>,<path del documento xml>
"validazioneXml",<true/false>,<messaggio di errore>
I due messaggi avranno la stessa chiave, generata con uno dei metodi
canonici, una dtaara ad esempio, per il messaggio send che verra'
copiata nel messaggio receive dal programma java.
Nulla vieta che nel messaggio send ci sia anche il nome di un programma
da chiamare che, tramite ProgramCall del jt400, il programma java potra'
chiamare dinamicamente.
Con questo tipo di architettura, potrai beneficiare del fatto che con un
servizio unico, potrai implementare richieste di diverso tipo.
Poiche' generalmente i programmi RPG non sono thread-safe, rendi le
chiamate tali mediante un ExecutorService implementato dal programma
java, e se sarai al riparo da concorrenze e contese.
Grazie Dott.Ugo,
la prima parte quella della dataque mi è chiara e comprensibile,
la seconda parte thread-safe e ExecutorService non riesco a comprendere,
Le sarei grato se può dare una breve spiegazione sul significato?
Un ExecutorService e' una classe del jdk, serve per sottomettere "in
batch" (termine improprio ma che puo' farti regredire ad un concetto
noto) una determinata azione: In questo caso sarebbe utile per
disaccoppiare la chiamata al validator dallo scodamento dalla dtaq, in
modo che lo scodatore sia libero di accettare un nuovo messaggio di dtaq.
Un programma e' thread-safe, se quello che succede durante la sua
esecuzione non interferisce ed e' insensibile alle interferenze di altri
processi. Poiche' un servizio in generale non sa chi sia il suo
requestor, meglio predisporsi per mettere "al porc a'l'ora".

Forse anche questa locuzione in modenese antico avrebbe bisogno di
spiegazioni. Letteralmente significa "mettere il maiale all'ombra", in
senso traslato significa predisporsi affinche' gli effetti del peggio
siano ininfluenti, stare dalla parte dei bottoni, insomma.
aretium
2018-07-06 17:02:51 UTC
Permalink
Post by Dr.UgoGagliardelli
Post by aretium
Grazie Dott.Ugo,
la prima parte quella della dataque mi è chiara e comprensibile,
la seconda parte thread-safe e ExecutorService non riesco a
comprendere,
Post by Dr.UgoGagliardelli
Post by aretium
Le sarei grato se può dare una breve spiegazione sul significato?
Un ExecutorService e' una classe del jdk, serve per sottomettere "in
batch" (termine improprio ma che puo' farti regredire ad un
concetto
Post by Dr.UgoGagliardelli
noto) una determinata azione: In questo caso sarebbe utile per
disaccoppiare la chiamata al validator dallo scodamento dalla dtaq, in
modo che lo scodatore sia libero di accettare un nuovo messaggio di dtaq.
Un programma e' thread-safe, se quello che succede durante la sua
esecuzione non interferisce ed e' insensibile alle interferenze di altri
processi. Poiche' un servizio in generale non sa chi sia il suo
requestor, meglio predisporsi per mettere "al porc a'l'ora".
Forse anche questa locuzione in modenese antico avrebbe bisogno di
spiegazioni. Letteralmente significa "mettere il maiale all'ombra", in
senso traslato significa predisporsi affinche' gli effetti del
peggio
Post by Dr.UgoGagliardelli
siano ininfluenti, stare dalla parte dei bottoni, insomma.
Grazie per l'esauriente spiegazione


Giuseppe
gio
2018-11-15 17:31:21 UTC
Permalink
aretium <***@gmail.com> ha scritto:
Giuseppe Salve
dal momento che anche io avrei la stessa necessità .. mi potresti dare delle
dritte su come hai fatto per fare la validazione con XSD ..
mica potresti postare un esempio ?
Grazie in anticipo
--
gio
aretium
2018-11-20 08:44:12 UTC
Permalink
Post by gio
Giuseppe Salve
dal momento che anche io avrei la stessa necessità .. mi potresti dare delle
dritte su come hai fatto per fare la validazione con XSD ..
mica potresti postare un esempio ?
Grazie in anticipo
ti ho inviato il tutto per mail

Loading...