Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Xerces & Java

  1. #1

    Xerces & Java

    Abbiamo generato e navigato da java, attraverso l'inclusione dei pacchetti .jar di xerces, un documento xml.
    Vorremmo capire come passare attraverso java uno schema(.xsd) in modo da permettere il salvataggio del file xml solo se esso è valido.
    Qualcuno può aiutarci?

  2. #2

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

    Xerces & Java

    Ciao,
    sto anch'io cercando di parserizzare un documento XML attraverso un XML Schema. Ti posso dare qualche indicazione:

    Come ben saprai ci sono due modi di parserizzare un documento XML, attraveros Sax e Dom. Il problema è che per default Xerces prende come riferimento i DTD per fare il controllo del documento XML. Per evitare questo inghippo, nel tuo codice dovresti mettere le seguenti istruzioni:

    parser.setFeature("http://xml.org/sax/features/validation",true);

    parser.setFeature("http://apache.org/xml/features/validation/schema",true);

    parser.setFeature("http://apache.org/xml/features/nonvalidating/load-dtd-grammar",false);

    parser.setFeature("http://apache.org/xml/features/nonvalidating/load-external-dtd",false);

    Con queste istruzioni tu setti le caratteristiche del tuo parser ed in particolare gli dici di non prendere i DTD e di parserizzare solamente gli XML Schema. Ricorda che l'intestazione di un XML per reperire un XML Schema è ben diversa da quella per reperire un DTD. Esempi non ce ne sono molti, anzi, tanti tutt'ora utilizzano ancora i DTD, ma la filosofia che si sta seguendo è quella di gestire gli XML Schema, in quanto sono più completi nel linguaggio. (Restrizioni, occorrenze etc...)

    Il problema però è questo. Sto utilizzando Xerces 2.6.1 ma non riesco a configuarlo (build.bat, ant.bat, antrun.bat, lcp.bat). Anzi, non so nemmeno se oltre a questo io debba utilizzare e quindi anche configurare Tomcat.
    Ti sto dicendo questo, perchè mi continua ad uscire nella console questo errore:

    [Error] InvoiceXML.xml:5:21: cvc-elt.1: Cannot find the declaration of element 'Invoice'.

    Ora, l'intestazione dovrebbe essere giusta, e quindi quello che a questo punto sto pensando è l'installazione corretta del parser.
    Spero di esserti stato un po' di aiuto. Se hai bisogno di chiarimenti o comunque di aiuto non esitare a scrivere.
    Il mio indirizzo è: gianniferro@interfree.it
    buona giornata.
    Ciao

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

    Immaginavo

    Come immaginavo, per poter parserizzare un XML attraverso un XML Schema, ponendo nell'intestazione del documento XML xsi:schemalocation="http://localhost:8080 http://localhost:8080/pippo.xsd" devi utilizzare e configurare un webserver come Tomcat. Ho provato, ed ho potuto notare che il parser sta facendo il proprio lavoro.
    Prova e se hai problemi scrivi.
    Ciao

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2003
    Messaggi
    166
    io ho un problema molto simile...
    ho seguito le vostre indicazioni, ma non ho capito come fare a dire alla servlet di utilizzare il mio file XSD.
    forse dovrei configurarlo all'interno di BEA (purtroppodevo utilizzare questo web server!!!).. sapete indicarmi come?

    grazie.

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.