|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Member
Iscritto dal: Oct 2006
Messaggi: 176
|
[XML/DTD] elementi con lo stesso nome ma con parentele diverse
Ciao a tutti è possibile trattare tag XML che hanno lo stesso nome ma sono figli di elementi diversi?
Ad esempio: Codice:
<oraEntrata> <h>5</h> <m>45</m> </oraEntrata> <oraUscita> <h>6</h> <m>40</m> </oraUscita> Il mio dubbio è: nel dtd come descrivo sta roba? Potrei fare: Codice:
<!ELEMENT oraEntrata(h,m)> <!ELEMENT h (#PCDATA)> <!ELEMENT m (#PCDATA)> <!ELEMENT oraUscita(h,m)> <!ELEMENT h (#PCDATA)> <!ELEMENT m (#PCDATA)> Codice:
<!ELEMENT oraEntrata(h,m)> <!ELEMENT h (#PCDATA)> <!ELEMENT m (#PCDATA)> <!ATTLIST m bollatrice CDATA #REQUIRED> <!ELEMENT oraUscita(h,m)> <!ELEMENT h (#PCDATA)> <!ELEMENT m (#PCDATA)> Ciao e Grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Nov 2003
Messaggi: 980
|
|
![]() |
![]() |
![]() |
#3 |
Member
Iscritto dal: Oct 2006
Messaggi: 176
|
Ti ringrazio. Quindi la mia impressione era giusta? Il documento può essere valido ma non verificato con un DTD
![]() |
![]() |
![]() |
![]() |
#4 |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Forse la mia domanda è stupida, ma non puoi fare così?
Codice:
<!ELEMENT oraEntrata (h,m)> <!ELEMENT oraUscita (h,m)> <!ELEMENT h (#PCDATA)> <!ELEMENT m (#PCDATA)> Alessandro |
![]() |
![]() |
![]() |
#5 |
Member
Iscritto dal: Oct 2006
Messaggi: 176
|
Ciao Sbrizzolo. Sì il tuo consiglio è ok, ma funziona solo nel caso un cui h ed m siano #PCDATA.
Se, per dire, h ed m sono una volta un tipo semplice, un'altra un tipo complesso il DTD non mi offre l'espressività necessaria a definire la struttura. Penso che sia così! |
![]() |
![]() |
![]() |
#6 | |
Member
Iscritto dal: Dec 2009
Messaggi: 46
|
Quote:
Solo che mi chiedo: se li devi differenziare, perchè chiamarli con lo stesso nome? Visto che si gioca tutto con il 'nome' appunto, che è l'identificativo nel DTD, e visto anche che sono 'diversi', a questo punto vale la pena chiamarli in maniera diversa. Ad esempio se ce ne sono due tipi (ma si può estendere ad n tipi): Codice:
<!ELEMENT oraEntrata (h1,m1)> <!ELEMENT h1 (#PCDATA)> <!ELEMENT m1 (#PCDATA)> <!ELEMENT oraUscita (h2,m2)> <!ELEMENT h2 (#PCDATA)> <!ELEMENT m2 (#PCDATA)> Non so se mi sono spiegato bene, ma a me questo non sembra un limite del DTD/XML, quanto piuttosto una questione mal posta. Di solito, in informatica, se devo differenziare due oggetti nella loro struttura, li dichiaro con nomi diversi, tutto qua! ![]() Alessandro |
|
![]() |
![]() |
![]() |
#7 |
Member
Iscritto dal: Oct 2006
Messaggi: 176
|
Certo! Difatti sono d'accordissimo con te. Ma non è un mio prodotto :/ ahimè
|
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 13:32.