xmlBeans



  • Tach zusammen,

    ich habe n kleines Problem mit zwei xmlBean-Libs die ich erstellt habe.
    Folgendes:
    Ich habe mehrere xml-Files, welche sich minimal unterscheiden.
    Einmal eines für Bilder, einmal eines für Text.

    Beide haben einen fast identischen Baum an Tags usw. Aber eben nicht ganz gleich und deshalb habe ich zwei verschiedene Libs erstellt (die jeweils nur die Tags ansprechen die ich wirklich brauche, der Rest wird nicht "unterstützt")...

    Ich kriege schon einen Fehler beim Ansprechen des Dokumentes bzw. beim erstellen eines solchen.

    image.RootDocumentImage idoc = image.RootDocumentImage.Factory.parse(imgFile);
    

    Erstellt mir das doc für die Bilder und ich beginne daraus zu lesen. Dann irgendwann später...

    text.RootDocumentText tdoc = text.RootDocumentText.Factory.parse(txtFile);
    

    Hier will ich eigentlich den text auslesen, aber ich kriege eine Fehlermeldung:

    image.impl.RootDocumentImageImpl cannot be cast to text.RootDocumentText
    

    Wieso versucht hier die App. irgendeinen quer-cast auf eine andere Library zumachen? Ich caste gar nix. Die beiden Dinger sind völlig unabhängig und haben nichts miteinander zu tun. Oder anderst gesagt wie verhindere ich das (ich dachte eigentlich, dass das erstellen des Docs ziemlich eindeutig ist).

    ---

    Die beiden Libs habe ich mit xmlbeans generiert und jeweils ein xsdconfig File verwendet, damit sich diese Unterscheiden.

    Für das Image:

    <?xml version="1.0" encoding="UTF-8"?>
    
    <xb:config xmlns:xb="http://xml.apache.org/xmlbeans/2004/02/xbean/config">
           <xb:namespace>
                 <xb:package>image</xb:package>
           </xb:namespace>
           <xb:namespace>
                 <xb:prefix></xb:prefix>
                 <xb:suffix>Image</xb:suffix>
           </xb:namespace>
    </xb:config>
    

    Für das andere das gleiche mit Text...

    Wäre cool wenn mir jemand erklären könnte, was hier schief läuft.
    Vielen Dank!


Anmelden zum Antworten