Visualizzazione dei risultati da 1 a 5 su 5

Discussione: parserizzazione XML

  1. #1
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    30

    parserizzazione XML

    Buonasera ragazzi e ragazze,
    volevo porvi una domanda: secondo voi è possibile parserizzare qualsiasi struttura creata XML? Mi spiego meglio:
    secondo voi il parser mi da errori se parserizzo una struttura di questo tipo:

    <Videoteca>
    <NomeLegale>pippo</NomeLegale>
    <Indirizzo>via casetta</Indirizzo>
    <Telefono>5456934049</Telefono>
    </VideoTeca>

    rispetto a quest'altra struttura che strutturalmente è diversa ma che alla fine mi fa la stessa cosa:

    <Videoteca NomeLegale="pippo" Indirizzo="via casetta" Telefono="5956934049" />

    Secondo voi ci devono essere degli standard o chiunque può crearsi la propria struttura XML senza attenersi a determinate regole di implementazione?
    Vi faccio questo quesito, perchè nel parserizzare un xml attraverso un xml schema, nella console mi viene mostrato il seguente errore:

    [Error] InvoiceXML.xml:7:234: cvc-complex-type.2.1: Element 'Company' must have no character or element information item [children], because the type's content type is empty.

    Io ho usato il secondo metodo di implementazione della struttura XML, in modo da avere un documento più chiaro.
    Fatemi sapere. Buona serata e grazie
    Ciao
    DP

  2. #2
    Puoi crearti la struttura che vuoi, con XSLT puoi anche trasformare la prima struttura nella seconda e viceversa. Non c'e' alcun limite.

    L'errore che ti viene visualizzato dipende dal fatto che hai un elemento "Company" che contiene qualcosa (caratteri e/o figli) mentre deve essere vuoto.

    Se il primo esempio e' un caso reale sappi che XML e' case sensitive, <Videoteca> non e' uguale a <VideoTeca>
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  3. #3
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    30

    parserizzazione XML

    Grazie,
    ma non capisco perchè Company deve essere vuoto. Mi spiego: nel mio XML SChema, io ho creato l'elemento Company, così dichiarato:

    .....
    <xsd:element name="Company" type="AttrCompany" minOccurs="1" maxOccurs="1"/>
    ......


    <xsd:complexType name="AttrCompany">

    <xsd:attribute name="CompanyId" type="xsd:string" use="required"/>

    <xsd:attribute name="TypeCompany" type="xsd:string" use="optional"/>

    <xsd:attribute name="LegalName" type="xsd:string" use="required"/>

    <xsd:attribute name="Address" type="xsd:string" use="required"/>

    <xsd:attribute name="City" type="xsd:string" use="required"/>

    <xsd:attribute name="SubCountry" type="xsd:string" use="required"/>

    <xsd:attribute name="Country" type="xsd:string" use="required"/>

    <xsd:attribute name="Phone" type="xsd:string" use="required"/>

    <xsd:attribute name="Fax" type="xsd:string" use="optional"/>

    <xsd:attribute name="VATId" type="xsd:string" use="optional"/>

    <xsd:attribute name="FiscalCode" type="xsd:string" use="optional"/>

    <xsd:attribute name="WebSite" type="xsd:string" use="optional"/>

    <xsd:attribute name="Email" type="xsd:string" use="optional"/>

    <xsd:attribute name="PostCode1" type="xsd:string" use="optional"/>

    <xsd:attribute name="PostCode2" type="xsd:string" use="optional"/>

    <xsd:attribute name="DayClosed" type="xsd:string" use="required"/>
    </xsd:complexType>
    .....

    Quindi in XML, la struttura dovrebbe essere la seguente:

    <Company CompanyID="" TypeCompany="" LegalName="".....>#PCDATA</Company>

    Il #PCDATA mi viene data in automatico da XMLWriter al momento della creazione del documento XML valido partendo dall'XML Schema.
    ORa la mia domanda è questa: perchè mi viene dato questo errore dal parser che ho creato io in Java, mentre è valido secondo XMLWriter? Che c'è di strano?
    Proprio non riesco a capire questo concetto.
    Spero tu mi possa aiutare.
    Grazie mille della disponibilità
    Saluti
    DP

  4. #4
    Parserizza il file XML con un parser di cui ti fidi. Se non da' errori, ma invece continua a darlo il tuo in JAVA e' possibile che quest'ultimo contenga un errore di programmazione.
    Are you alive?
    No, but I was written with LOVE. A new scripting language.
    www.frequenze.it

  5. #5
    Utente di HTML.it
    Registrato dal
    Aug 2003
    Messaggi
    30

    parserizzazione XML

    Ho trovato l'errore. Allora sinteticamente è così:
    1. Costruivo il mio XSD attraverso l'utilizzo di XMLWriter
    2. Generavo da questo il documento XML valido (in questa fase XMLWriter mi creava l'elemento ma mi aggiungeva delle cose come:
    <Service IdService=""....>#PCDATA</Service>
    Il problema era proprio il #PCDATA. Ho provato quindi a toglierlo e a modificare la stessa tag in questo modo
    <Service IdService="".../>
    Ora funziona perfettamente. Ho provato anche a fare delle modifiche non valide nell'XML e il parser me le segna.
    Cmq ci è voluto un po' per capire che senza tomcat non avrei mai combinato nulla. Infatti per far girare Xerces, devo avere Tomcat in RUN....

    Sei stato veramente gentile.
    Ah prima che mi dimentico, mi sai dire cosa stanno a rappresentare queste eccezioni:

    SAXException: dovrebbe darmi errori quando la grammatica dell'XML è sbagliata
    IOException: penso siano le classiche eccezioni di input/output
    SAXNotRecognizedException ?
    SAXNotSUpportedException ?

    Spero tu mi possa aiutare.
    Grazie mille e buona giornata.
    DP

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.