Visualizzazione dei risultati da 1 a 2 su 2
  1. #1

    problemi con namespaces e keyref

    Salve a tutti!
    Vi riporto un esempio facile di ciò che voglio realizzare ma che a quanto pare ha problemi di realizzazione (oppure il motore di validazione che uso ha qualche bug): in pratica sto creando un file xml con uno schema da me definito. Lo schema principale utilizza elementi definiti in due file esterni, aventi namespaces differenti. Alcuni discendenti della root saranno quindi definiti utilizzando il primo namespace, e altri discendenti saranno definiti utilizzando il secondo namespace.

    Gli elementi definiti utilizzando lo schema del secondo namespace, hanno una keyref agli elementi definiti tramite il primo namespace. Tutti e tre gli schemi definiti non hanno problemi (vengono validati), ma alla prova dei fatti con un documento xml sembra che la "keyref is out of scope".

    VI lascio i link ai file di esempio perché è molto più semplice vederlo che spiegarlo:

    http://dl.dropbox.com/u/1889847/prova/a.xsd
    http://dl.dropbox.com/u/1889847/prova/b.xsd
    http://dl.dropbox.com/u/1889847/prova/ab.xsd >schema "principale", usato poi per il documento xml finale e che utilizza le grammatiche definite negli schemi a e b

    http://dl.dropbox.com/u/1889847/prova/ab.xml

    l'errore è il seguente sul file ab.xml:
    codice:
    E [Xerces] Identity Constraint error:  identity constraint "KeyRef@1f3329a" has a keyref which refers to a key or unique that is out of scope.
    sapete illuminarmi su cosa diavolo sbaglio? A me pare che la keyref che ho definito sia all'interno eccome dello scope! Forse devo definire la keyref un livello sopra, ossia su ab.xsd?

    grazie

  2. #2

    forse ho risolto

    Credo di aver risolto (almeno spero, anche se la soluzione non mi piace tantissimo )

    In pratica ho spostato la dichiarazione della chiave esterna (keyref) nell'elemento "ab", che accomuna gli elementi del namespace a e namespace b.

    Ecco i link, se a qualcuno questo piccolo esempio più servire:
    http://dl.dropbox.com/u/1889847/prova2/a.xsd
    http://dl.dropbox.com/u/1889847/prova2/b.xsd
    http://dl.dropbox.com/u/1889847/prova2/ab.xsd

    http://dl.dropbox.com/u/1889847/prova2/ab.xml


    Posso chiamare sistema operativo una cosa che per spegnere il pc devo cliccare su avvio?

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 © 2026 vBulletin Solutions, Inc. All rights reserved.