Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3

    XML Schema e interazione xml xsd

    Salve a tutti,
    sono nuovo del forum e sono un newbie di xml Schema per cui vi chiedo di perdonare la domanda sciocca che sto per fare ma ho bisogno di capire alcune cose.

    Ho due files nella medesima directory:

    note.xml

    <?xml version="1.0"?>
    <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="note.xsd">
    <to></to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>

    e note.xsd

    <?xml version="1.0"?>
    <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">

    <xs:element name="note">
    <xs:complexType>
    <xs:sequence>
    <xs:element name="to" type="xs:string" default="No name"/>
    <xs:element name="from" type="xs:string"/>
    <xs:element name="heading" type="xs:string"/>
    <xs:element name="body" type="xs:string"/>
    </xs:sequence>
    </xs:complexType>
    </xs:element>

    </xs:schema>

    Quando visualizzo il file xml nel browser, avendo impostato il parametro default dell'elemento "to" uguale a "No name", mi aspetteri di veder stampato a video una cosa tipo:

    <?xml version="1.0"?>
    <note xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="note.xsd">
    <to>No name</to>
    <from>Jani</from>
    <heading>Reminder</heading>
    <body>Don't forget me this weekend!</body>
    </note>

    ma ottengo solo un <to/>

    Cosa sbaglio?
    Forse il file xsd non ha effetto direttamente sul file xml? Forse sbaglio qualcosa a livello di namespaces?

    Grazie in anticipo

  2. #2
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3
    Leggendo alcune documentazioni in giro mi pare di aver capito che non si possa demandare al browser l'onere di validare un documento XML secondo il rispettivo XSD.
    E' necessario un validatore tipo: http://www.utilities-online.info/xsdvalidation/ oppure l'ausilio di estensioni server side (DOMdocument PHP nel mio caso).

    Se ho travisato qualcosa per favore fatemelo presente

    Tnx!

  3. #3
    ciao. ti riporto dalla guida per le xsd

    default: Optional. Specifies a default value for the element (can only be used if the element's content is a simple type or text only)

    quindi essendo il tuo una stringa non va in teoria.
    prova a metterlo text e fammi sapere

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2012
    Messaggi
    3
    Ciao Mattia!
    Grazie del Feedback!
    Non so se ho capito bene il tuo post quindi se ho preso una cantonata perdonami.
    Il datatype text non credo esista nei tipi primitivi:

    www.w3.org/TR/xmlschema-2/#built-in-primitive-datatypes

    Ad ogni modo quello che ho scritto io all'inizio era sbagliato.
    Non si può validare il file xml secondo il proprio schema direttamente tramite browser e, da quello che ho capito, il defaul value viene interpretato dal 'validatore' che, nel mio caso appunto, dovrebbe essere scritto in PHP con le estensioni apposite.

    Ripeto, se ho frainteso la tua risposta fammi un fischio

    Tnx!

  5. #5
    ciao io stavo guardando qua http://www.w3schools.com/schema/schema_complex_text.asp

    in effetti rileggendo meglio te chiedevi come validare ...

    io valido da command line di solito ma ci sono alcuni siti tipo
    http://www.utilities-online.info/xsd.../#.UKtNWJtf8dE

    che lo fanno anche online

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.