A zkusil jste prohnat toto XML od zakaznika pres Jtidy? To by melo takoveto 
hnusoty opravit a je to jednoducha akce.

Tom

> -----Original Message-----
> From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On
> Behalf Of Rastislav Siekel
> Sent: Tuesday, October 30, 2007 6:33 AM
> To: 'Java'
> Subject: RE: JAXB - unmarshal s white space
> 
> Ahoj Honza,
> 
> prešiel som bugzillu na JAXB a už je to tam zapísané ako bug 396
> (https://jaxb.dev.java.net/issues/show_bug.cgi?id=396).
> 
> 
> To čo píšete znie síce rozumne ale predstavte si situáciu - zákazník z
> programu tretej strany posiela ku mne XML podľa tejto mojej schémy. Ak v
> posielanom XML sú nejaké white space okolo dátumov alebo enumeration, ja
> dostanem NULL, z toho usúdim, že tam mám dať default hodnotu a zapíšem
> podľa
> toho dáta do DB.
> 
> Výsledok:
> 1. On nedostane žiadnu chybu, pretože to čo poslal JE VALIDNÉ xml (aj keď
> vy
> tvrdíte, že nie je).
> 2. Ja neviem o žiadnej chybe, pretože nechať napr. tento konkrétny dátum
> NULL je povolený ťah.
> 3. Ale dáta sú chybné.
> 
> Ako som už písal minule, JAXB 1 to rieši presne podľa mojich požiadaviek,
> takže nevidím dôvod ho nepoužiť.
> 
> Ale vďaka za názor, aspoň som zistil, že sa o tom už v JAXB komunite vie.
> 
> Rastislav "Bedo" Siekel
> 
> 
> > -----Original Message-----
> > From: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] On Behalf Of Jan Moravec
> > Sent: 30. októbra 2007 12:37
> > To: 'Java'
> > Subject: RE: JAXB - unmarshal s white space
> >
> > Zdravim,
> >
> > Mozna to zni prilis trivialne, ale co kdybyste to XML
> > generoval jako validni, tj. bez white space v dateTime
> > hodnotach a yhnul se tak nutnosti psani vlastnich konvertoru.
> > Pokud Vam jde o citelnost, preci muzete i pak generovat
> > citelne XML s odradkovanim mezi elementy apod.
> >
> > Prijde mim, ze jdete zcela zbytecne hlavou proti zdi a drzel
> > bych se hesla ze vzdy je lepsi odstranit pricinu problemu
> > (whitespace v dateTime), nez resit/obchazet dusledky (JAXB2
> > odmita XML zpracovat + pisu si vlastni konvertory + musim
> > pouzivat externi/interni JAXB binding predpis apod).
> >
> > Jinak pokud mate problem s JAXB2, zeptejte se primo v jejich
> > konferenci.
> > Moje zkusenost s ni je vice nez pozitivni a odpovedi jsem mel
> > vzdy do max druheho dne.
> >
> > Honza
> >
> > -----Původní zpráva-----
> > Od: [EMAIL PROTECTED]
> > [mailto:[EMAIL PROTECTED] za uživatele Rastislav Siekel
> > Odesláno: Tuesday, October 30, 2007 08:47
> > Komu: 'Java'
> > Předmět: RE: JAXB - unmarshal s white space
> >
> >
> > Nie, existuje atribút "binding" ktorý umožňuje zadať názov
> > externého súboru, ktorý bude tiež slúžiť na generovanie JAVA
> > zdrojákov. Ale aj tak ostáva nutnosť písať si pre skoro každý
> > typ vlastný "tupý" handler, ktorý len otrimuje vstup . Ale
> > nejde mi do hlavy, že by sa na to v JAXB, alebo vlastnej XML
> > Schéme fakt nemyslelo.
> >
> > Rastislav "Bedo" Siekel
> >
> >
> > > -----Original Message-----
> > > From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED] On Behalf Of Lukas Zapletal
> > > Sent: 29. októbra 2007 11:19
> > > To: Java
> > > Subject: Re: JAXB - unmarshal s white space
> > >
> > >  No a ta vec musi byt soucasti toho schematu? Nemuzete to xjc
> > > generatoru rict nejak jinak?
> > >
> > > LZ
> > >
> > > 2007/10/29, Rastislav Siekel <[EMAIL PROTECTED]>:
> > > >
> > > >
> > > > Odpoviem si sám :-(
> > > >
> > > > Po niekoľkých dňoch hľadania som zistil, že bez niečoho
> > > podobného to
> > > > zrejme
> > > > nepôjde:
> > > >
> > > > XML Schéma:
> > > > ...
> > > > <jaxb:globalBindings>
> > > >            <jaxb:javaType name="java.util.Date"
> > > xmlType="xs:dateTime"
> > > >             parseMethod="xxx.yyy.jaxb.DateConverter.parseDateTime"
> > > >
> > > printMethod="xxx.yyy.jaxb.DateConverter.printDateTime" />
> > > > </jaxb:globalBindings> ...
> > > >
> > > > A musím si samozrejme napísať Triedu
> > > "xxx.yyy.jaxb.DateConverter". A
> > > > neplatí to len pre dátumy, ale aj pre "enumeration" a
> > > vlastne všetky
> > > > typy okrem čísel.
> > > > Toto riešenie mi fakt nepripadá vhodné, pretože
> > potrebujem vytvoriť
> > > > schému pre heterogénne prostredie a druhá strana nemá vedieť, že
> > > > používam nejaký JAXB.
> > > >
> > > > Takže výsledok - sú možné 2 riešenia:
> > > > 1. Používať starý dobrý JAXB 1.
> > > > 2. Prispôsobiť XML tomu, že hodnoty musia byť bez white space na
> > > > jednom riadku vrátane štartovacieho a ukončovacieho tagu.
> > > >
> > > > Ja osobne pôjdem prvou cestou.
> > > >
> > > >
> > > > Ak by ste mi niekto tieto zistenia vyvrátil, bol by som
> > > šťastný človek
> > > > ;-)
> > > >
> > > > Rastislav "Bedo" Siekel.
> > > >
> > > >
> > > >  ________________________________
> > > >  From: [EMAIL PROTECTED]
> > > [mailto:[EMAIL PROTECTED]
> > > > On Behalf Of Rastislav Siekel
> > > > Sent: 22. októbra 2007 15:13
> > > > To: 'Java'
> > > > Subject: JAXB - unmarshal s white space
> > > >
> > > >
> > > >
> > > > Zdravím vospolok,
> > > >
> > > > asi to bude len nejaká blbosť, ale nemôžem prísť na to,
> > ako donútiť
> > > > JAXB robiť unmarshalling, ak je vstupné XML well-formated.
> > > Pokiaľ je
> > > > na vstupe niečo ako:
> > > >
> > > > <dtZadania>2007-09-30T15:23:24.000</dtZadania>
> > > >
> > > > - je všetko v poriadku.
> > > >
> > > >
> > > > Ak tam je dátum vrátane \n:
> > > >
> > > > <dtZadania>
> > > >     2007-09-30T15:23:24.000
> > > > </dtZadania>
> > > >
> > > > tak mi to proste vráti NULL.
> > > >
> > > >
> > > > Schéma bola najprv:
> > > > <xsd:element name="dtZadania" type=""xsd:dateTime" minOccurs="0"
> > > > maxOccurs="1" />
> > > >
> > > > teraz je:
> > > >
> > > >
> > > >
> > > > <xsd:element name="dtZadania" minOccurs="0" maxOccurs="1">
> > > > <xsd:simpleType>
> > > >         <xsd:restriction base="xsd:dateTime">
> > > >             <xsd:whiteSpace value="collapse" />
> > > >         </xsd:restriction>
> > > >     </xsd:simpleType>
> > > > </xsd:element>
> > > >
> > > >
> > > > Poraďte niekto, kde sa to nastavuje?
> > > >
> > > > Rastislav "Bedo" Siekel
> > > >
> > > > P.S. JAXB je vo verzii 2.1.5
> > > >
> > > >  ________________________________
> > > >
> > > > Ing. Rastislav Siekel
> > > > Prosoft s.r.o., Kuzmányho 8, 010 01 Žilina, Slovakia E-mail :
> > > > <[EMAIL PROTECTED]> Tel : 041/562 54 91 Fax : 041/562 54
> > 97 Mobil :
> > > > 0905 34 00 20
> > > >
> > >
> > >
> > > --
> > > Lukas Zapletal
> > > http://lukas.zapletalovi.com
> > >
> >
> >

Odpovedet emailem