[Javalist] XML formátum probléma

Viczián István viczian.istvan at gmail.com
2012. Feb. 7., K, 16:10:44 CET


Szia!

Így már érthető.
Szigorúan kíváncsiságból vissza kellett egyszer fejtenem pár részt,
kommentár nélkül néhány szemelvény, hátha esetleg jól jön még:

Ha minden rendben ment, onnan tudod, hogy FinishException-t dob, amit
el kell kapni.
Csatolmányok kezelését végző metódusok:

public InputStream getNextAttachment() {
  return null;
}

public boolean hasNextAttachment() {
  return false;
}

Eldugott inputStream.skip(2L);, ami ignorálja a BOM-ot.
BZIP-pel van tömörítve egy XML, amiben BASE64-gyel vannak a csatolmányok.
Az állományokat mindenképp kiírja fájlrendszerbe, oda, ahova ő
gondolja, és arra mutató inputstream-et ad vissza.

Szóval sok sikert!

--
Viczián István



2012/2/7 Keresztes Jozsef <jkeresztes at vati.hu>:
> Köszi a leírást.
> Én is úgy gondoltam hogy szabványos amit előállítok 1.4-gyel,
> a túloldal (NAV ÁNYK program, ismerős ?) nem eszi meg az előállított XML-emet :(
>
> -----Original Message-----
> From: Viczián István [mailto:viczian.istvan at gmail.com]
> Sent: Tuesday, February 07, 2012 3:48 PM
> To: Java lista
> Subject: Re: [Javalist] XML formátum probléma
>
> Üdv,
>
> XML szabvány:
>
> http://www.w3.org/TR/2008/REC-xml-20081126/#sec-white-space
> http://www.w3.org/TR/2008/REC-xml-20081126/#sec-common-syn
>
> Ez annyit tesz, hogy nem signifikáns helyeken (nem element content)
> annyi whitespace-t pakolsz amennyit akarsz, valamint a single és
> double quote ekvivalens.
>
> Ergó, a másik oldal a hibás, aki nem olvassa ezt be, mert amit te
> kigenerálsz, az az XML szabványnak megfelel. Tudom, ez téged nem
> boldogít, szóval a definíció kikapcsolása remek megoldás. :)
>
> --
> Viczián István
>
>
>
> 2012/2/7 Böszörményi Péter <zmblevlist at gmail.com>:
>> Erdekes. Ha felolvasom az xml-t es abban van xml deklaracio spacekkel
>> telepakolva, az eredmeny xmlben jo az xml deklaracio.
>> Ha felolvasom az xml-t es es abban nincs xml deklaracio, akkor az
>> eredmenyben van, es jo az xml deklaracio.
>> Ha kezzel epitem fel a dom fat, es azt tolom ki, akkor az eredmenyben van,
>> es jo az xml deklaracio.
>>
>> Tehat: a kimenetbe mindig kerul xml deklaracio, es az mindig jo nalam. Java
>> verzio: 1.4.2_19
>>
>>
>>
>> On Tue, 07 Feb 2012 14:17:34 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
>> wrote:
>>
>>> Így már működik viszont ha az xml definíciós sort meghagyom akkor ugyanúgy
>>> ott a space és a szimpla aposztróf...
>>> Szerintem a megoldás az lesz amit előszőr javasoltál, az xml def. sort nem
>>> engedem beletenni az xml fájlba.
>>>
>>> -----Original Message-----
>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>> Sent: Tuesday, February 07, 2012 2:04 PM
>>> To: Java lista
>>> Subject: Re: [Javalist] XML formátum probléma
>>>
>>> Azert nem tudsz hozzafuzni elemet, mert csak egy root node lehet az
>>> xml-ben. doc.getFirstChild().appendChild(element); segitsegevel probald meg.
>>>
>>> On Tue, 07 Feb 2012 13:59:59 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
>>> wrote:
>>>
>>>>
>>>> Ha ezt alkalmazom, amit írtál:
>>>>
>>>> Document doc =
>>>> DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new
>>>> File("a.xml"));
>>>>
>>>> akkor nem tudok a doc-hoz elemet adni:
>>>> Element foElem = doc.createElement("nyomtatvanyok");
>>>> doc.appendChild(foElem);
>>>>
>>>> az utolsó sor (ami eddig tökéletes volt) ezt a hibát adja:
>>>> oracle.xml.parser.v2.XMLDOMException: document node can have only one
>>>> element node as child
>>>>
>>>> Kérdés hogy te hogy adsz elemet az így létrehozott dokumentumhoz ?
>>>>
>>>>
>>>> -----Original Message-----
>>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>>> Sent: Tuesday, February 07, 2012 1:46 PM
>>>> To: Java lista
>>>> Subject: Re: [Javalist] XML formátum probléma
>>>>
>>>> Fol raktam egy 1.4.2_19-et, nekem ott is jo. A kodom igy nez ki:
>>>>                Document doc =
>>>> DocumentBuilderFactory.newInstance().newDocumentBuilder().parse(new
>>>> File("a.xml"));
>>>>
>>>>                TransformerFactory transformerFactory =
>>>> TransformerFactory.newInstance();
>>>>                Transformer transformer =
>>>> transformerFactory.newTransformer();
>>>>
>>>>                DOMSource source = new DOMSource(doc);
>>>>                StreamResult result = new StreamResult(new File("b.xml"));
>>>>                transformer.transform(source, result);
>>>>
>>>> Az a.xml:
>>>> <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
>>>> <alma>
>>>>        <x>s</x>
>>>> </alma>
>>>>
>>>> On Tue, 07 Feb 2012 13:31:42 +0100, Keresztes Jozsef <jkeresztes at vati.hu>
>>>> wrote:
>>>>
>>>>> Itt meg a java verzió 1.4-es. Ez is lehet ám probléma.
>>>>> No ez nem azt jelenti hogy mindenütt 1.4-es (mi is haladunk a korral),
>>>>> de ennél a projektnél 1.4 és az is marad bizonyos okokból.
>>>>>
>>>>> -----Original Message-----
>>>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>>>> Sent: Tuesday, February 07, 2012 1:28 PM
>>>>> To: Java lista
>>>>> Subject: Re: [Javalist] XML formátum probléma
>>>>>
>>>>> Ooopsz, elneztem. Az altalad irt kod nalam jol formazza. Java: 1.7.01
>>>>>
>>>>> On Tue, 07 Feb 2012 13:17:10 +0100, Keresztes Jozsef
>>>>> <jkeresztes at vati.hu> wrote:
>>>>>
>>>>>> Ezzel eltűnt az xml fejéból a "hibás" sor.
>>>>>> Érdekes megoldás, ráadásul így beolvassa a másik program...
>>>>>> Nem tudom, nekem így elég furcsa az xml...
>>>>>>
>>>>>> -----Original Message-----
>>>>>> From: Böszörményi Péter [mailto:zmblevlist at gmail.com]
>>>>>> Sent: Tuesday, February 07, 2012 1:10 PM
>>>>>> To: Java lista
>>>>>> Subject: Re: [Javalist] XML formátum probléma
>>>>>>
>>>>>> Ez kell neked szerintem:
>>>>>> transformer.setOutputProperty(OutputKeys.OMIT_XML_DECLARATION, "yes");
>>>>>>
>>>>>> On Tue, 07 Feb 2012 13:05:59 +0100, Keresztes Jozsef
>>>>>> <jkeresztes at vati.hu> wrote:
>>>>>>
>>>>>>> Sziasztok !
>>>>>>>
>>>>>>> XML készítéssel van problémám. Amikor előállítom egy fájlban így néz
>>>>>>> ki az első sora:
>>>>>>>
>>>>>>> <?xml version = '1.0' encoding = 'UTF-8'?>
>>>>>>>
>>>>>>> Ez még nem is lenne probléma, de van egy másik program aminek ezt be
>>>>>>> kéne olvasni,
>>>>>>> és az a baj vele hogy az encoding után van benne space, majd az
>>>>>>> egyenlőségjel után is
>>>>>>> van benne space. Ha ezt a 2 space-t kitörlöm akkor be tudja a program
>>>>>>> olvasni, különben nem.
>>>>>>> A kérdésem az lenne hogy lehet az XML-t úgy formázni hogy ne
>>>>>>> kerüljenek bele ezek a space-ek ?
>>>>>>> Már gyártottam régebben is xml-eket, nem volt ilyen gondom, valami
>>>>>>> környezeti dolog lehet
>>>>>>> ami beleszól, de nem tudom mi. Az is érdekes ha megnézitek hogy nem
>>>>>>> idézőjelek között van az
>>>>>>> információ, hanem aposztrófok között. Ezt sem értem miért van.
>>>>>>> Amúgy ezzel állítom elő az xml-t, ezt is néztem már a neten hogy
>>>>>>> lehetne másképp:
>>>>>>>
>>>>>>> TransformerFactory transformerFactory =
>>>>>>> TransformerFactory.newInstance();
>>>>>>> Transformer transformer = transformerFactory.newTransformer();
>>>>>>> DOMSource source = new DOMSource(doc);
>>>>>>> StreamResult result = new StreamResult(new
>>>>>>> File("...\\EPBEJ_GEN.xml"));
>>>>>>> Transformer.transform(source, result);
>>>>>>>
>>>>>>> Köszönöm ha van ötletetek.
>>>>>>>
>>>>>>> Joe
>>>>>>>
>>>>>>> _______________________________________________
>>>>>>> Javalist mailing list
>>>>>>> Javalist at lists.javaforum.hu
>>>>>>> http://lists.javaforum.hu/mailman/listinfo/javalist
>>>>>>>
>>>>>>
>>>>>>
>>>>>
>>>>>
>>>>
>>>>
>>>
>>>
>>
>>
>> --
>> Üdvözlettel,
>> Böszörményi Péter
>> _______________________________________________
>> Javalist mailing list
>> Javalist at lists.javaforum.hu
>> http://lists.javaforum.hu/mailman/listinfo/javalist
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist
>
> _______________________________________________
> Javalist mailing list
> Javalist at lists.javaforum.hu
> http://lists.javaforum.hu/mailman/listinfo/javalist


További információk a(z) Javalist levelezőlistáról