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

    [XML] Elementi & Attributi, in fondo sono davvero diversi?

    Salve a tutti.

    Ho un problema un po' scemo (ma io non lo sono): Non capisco perfettamente la differenza tra elementi e attributi.

    Ad esempio scrivendo un linguaggio che rappresenta i treni in arrivo in una stazione, che differenza c'è se lo scrivo così:



    <?xml version="1.0" ?>
    <!DOCTYPE articolo SYSTEM "treni.dtd">
    <treni>
    <treno tipo="Eurostar" ritardo="5min">
    <orario>10:30</orario>
    <destinazione>Bari</destinazione>
    </treno>


    <treno tipo="TAV" ritardo="15min">
    <orario>10:44</orario>
    <destinazione>Milano</destinazione>
    </treno>


    <treno tipo="Regionale" ritardo="5min">
    <orario>10:52</orario>
    <destinazione>Pisciotta</destinazione>
    </treno>


    <treno tipo="Inter_City">
    <orario>11:10</orario>
    <destinazione>Roma</destinazione>
    </treno>


    <treno tipo="Eurostar">
    <orario>11:17</orario>
    <destinazione>Reggio Calabria</destinazione>
    </treno>


    <treno tipo="Interegionale" ritardo="5min">
    <orario>11:30</orario>
    <destinazione>Lecce</destinazione>
    </treno>


    <treno tipo="Eurostar" ritardo="10min">
    <orario>11:39</orario>
    <destinazione>Perugia</destinazione>
    </treno>


    <treno tipo="Eurostar">
    <orario>11:52</orario>
    <destinazione>Catanzaro</destinazione>
    </treno>

    </treni>






    o così, cambiando gli attributi tipo e ritardo in sottoelementi?



    <?xml version="1.0" ?>
    <!DOCTYPE articolo SYSTEM "treni.dtd">
    <treni>
    <treno>
    <orario>10:30</orario>
    <destinazione>Bari</destinazione>
    <tipo>Eurostar</tipo>
    <ritardo>5min</ritardo>
    </treno>


    <treno>
    <orario>10:44</orario>
    <destinazione>Milano</destinazione>
    <tipo>TAVr</tipo>
    <ritardo>15min</ritardo>
    </treno>


    <treno tipo="Regionale" ritardo="5min">
    <orario>10:52</orario>
    <destinazione>Pisciotta</destinazione>
    <tipo>Regionale</tipo>
    <ritardo>5min</ritardo>
    </treno>


    <treno>
    <orario>11:10</orario>
    <destinazione>Roma</destinazione>
    <tipo>Regionale</tipo>
    <ritardo />
    </treno>


    <treno>
    <orario>11:17</orario>
    <destinazione>Reggio Calabria</destinazione>
    <tipo>Eurostar</tipo>
    <ritardo />
    </treno>


    <treno>
    <orario>11:30</orario>
    <destinazione>Lecce</destinazione>
    <tipo>Interegionale</tipo>
    <ritardo>5min</ritardo>
    </treno>


    <treno>
    <orario>11:39</orario>
    <destinazione>Perugia</destinazione>
    <tipo>Eurostar</tipo>
    <ritardo>10min</ritardo>
    </treno>


    <treno>
    <orario>11:52</orario>
    <destinazione>Catanzaro</destinazione>
    <tipo>Eurostar</tipo>
    <ritardo />
    </treno>

    </treni>



    Grazie in anticipo a coloreo che mi chiariranno le idee

  2. #2
    ciao Lord Nekris, io ragiono in questa maniera.
    ho un nodo-padre del mio documento XML: ne creo un elemento-figlio qualora quest'ultimo sia ripetibile più volte all'interno del nodo-padre o nel caso in cui tale elemento-figlio a sua volta contenga ulteriori elementi. ne creo invece un elemento-attributo nei restanti casi (soprattutto se l'attributo è visto come un "attributo naturale" dell'oggetto che stai modellando attraverso il nodo-padre).

    nel tuo caso creerei un nodo del genere:

    codice:
    <treno tipo="Eurostar">
    <orario>11:52</orario>
    <ritardo>11:52</ritardo>
    <destinazione>Catanzaro</destinazione>
    </treno>
    ciao

  3. #3
    quindi dipende da quello che voglio fare. Ho capito

    Grazie mille

  4. #4
    sì, ad esempio se usi un attributo puoi stabilire un valore di default, o un range limitato di valori accettati, mentre per un elemento non lo puoi fare. non c'è una differenza sostanziale, è essenzialmente un fatto di praticità e utilità al tuo scopo.

    bye!!

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.