Torna indietro   Hardware Upgrade Forum > Software > Programmazione

Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming
Pannello QD-OLED da 32 pollici con risoluzione 4K, frequenza di aggiornamento a 240Hz e tempi di risposta rapidissimi: il Gigabyte MO32U24 evolve il progetto del suo predecessore MO32U e alza ulteriormente l'asticella delle prestazioni. È ancora una volta un monitor indirizzato ai giocatori più esigenti
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh
realme 16 5G è un nuovo smartphone con sensore Sony IMX 852 da 50MP sul retro e uno specchio selfie fisico integrato nella camera bar, una prima nel segmento di mercato. Batteria da 6550mAh in un corpo da 8,1mm e 183g, certificazione IP69K e ricarica da 45W completano un pacchetto aggressivo per la fascia media, per uno dei prodotti più interessanti del produttore sul piano commerciale
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni
Sono ormai definitive le nuove norme del Codice della Strada per i monopattini elettrici. Non solo targa e assicurazione, le regole sono tante e riguardano diversi aspetti, vi spieghiamo come evitare sanzioni che possono essere salate
Tutti gli articoli Tutte le news

Vai al Forum
Rispondi
 
Strumenti
Old 13-04-2010, 09:18   #1
superciccio14
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)>
ma non c'è confusione sulla parentela di h ed m? Non sono ridondanti? Se dovessi ad esempio specificare un attributo per la prima m:

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)>
Non ci sarebbe confusione? Questo accade se il DTD tiene conto dell'ordine con cui gli dichiari gli elementi, credo...

Ciao e Grazie
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 15:02   #2
kk3z
Senior Member
 
L'Avatar di kk3z
 
Iscritto dal: Nov 2003
Messaggi: 980
http://bytes.com/topic/net/answers/8...child-elements
kk3z è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 16:21   #3
superciccio14
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
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 13-04-2010, 18:00   #4
Sbrizzolo86
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)>
In questo modo non c'è alcuna ambiguità e puoi verificare l'xml con il DTD. A meno che tu non abbia espressamente l'esigenza di differenziare <h><m> tra entrata e uscita, in questo caso il mio consiglio non ti servirà.

Alessandro
Sbrizzolo86 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2010, 08:18   #5
superciccio14
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ì!
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2010, 09:11   #6
Sbrizzolo86
Member
 
Iscritto dal: Dec 2009
Messaggi: 46
Quote:
Originariamente inviato da superciccio14 Guarda i messaggi
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ì!
Sì ma infatti se li devi differenziare, come ho detto, il mio consiglio è inutile.

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)>
dove ovviamente puoi personalizzare a piacere tutti i tag h,m.

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
Sbrizzolo86 è offline   Rispondi citando il messaggio o parte di esso
Old 15-04-2010, 09:18   #7
superciccio14
Member
 
Iscritto dal: Oct 2006
Messaggi: 176
Certo! Difatti sono d'accordissimo con te. Ma non è un mio prodotto :/ ahimè
superciccio14 è offline   Rispondi citando il messaggio o parte di esso
 Rispondi


Gigabyte MO32U24 OLED: il 4K a 240Hz su un pannello OLED ideale per il gaming Gigabyte MO32U24 OLED: il 4K a 240Hz su un panne...
Recensione realme 16 5G: lo smartphone con Selfie Mirror ha una batteria da 6550mAh Recensione realme 16 5G: lo smartphone con Selfi...
Come rispettare tutte le nuove regole per i monopattini elettrici? La guida per non rischiare sanzioni Come rispettare tutte le nuove regole per i mono...
DLSS 4.5: con Dynamic Frame Generation e MFG 6X NVIDIA alza la posta DLSS 4.5: con Dynamic Frame Generation e MFG 6X ...
Plaud NotePin S, il registratore IA si fa indossabile (ma è facile da perdere) Plaud NotePin S, il registratore IA si fa indoss...
DJI Neo Fly More Combo a 245€: il mini d...
JBL Live Beam 3 a 129€ invece di 199€ su...
L'FBI ha costruito una città segr...
AMD usa il MacBook Neo come bersaglio in...
Intel prepara 'Raptor Lake Next'? Nel 20...
Una telefonata del CEO di Amazon dietro ...
Grazie a GLIMPSE-17775 il telescopio spa...
Samsung Galaxy A27 5G è ufficiale...
TCL aggiorna la sua gamma di monitor per...
Anche OPPO avrà uno smartphone co...
La Radeon RX 9070 XT appare su Steam e m...
L'America si ribella ai datacenter: bloc...
'Artificial General Engineer': l'IA di J...
Il drone NASA Dragonfly, che voler&agrav...
Stop immediato a Fable 5 e Mythos 5: il ...
Chromium
GPU-Z
OCCT
LibreOffice Portable
Opera One Portable
Opera One 106
CCleaner Portable
CCleaner Standard
Cpu-Z
Driver NVIDIA GeForce 546.65 WHQL
SmartFTP
Trillian
Google Chrome Portable
Google Chrome 120
VirtualBox
Tutti gli articoli Tutte le news Tutti i download

Strumenti

Regole
Non Puoi aprire nuove discussioni
Non Puoi rispondere ai messaggi
Non Puoi allegare file
Non Puoi modificare i tuoi messaggi

Il codice vB è On
Le Faccine sono On
Il codice [IMG] è On
Il codice HTML è Off
Vai al Forum


Tutti gli orari sono GMT +1. Ora sono le: 08:41.


Powered by vBulletin® Version 3.6.4
Copyright ©2000 - 2026, Jelsoft Enterprises Ltd.
Served by www3v