Newsgroup: it.comp.lang.javascript
Titolo: [?] Espandere DtD

Visto che "qualcuno" mi ha detto "sbattici la testa" ok, ci ho sbattuto la
testa.
Ho ottenuto per ora questo e funziona (sto aggiungendo un attributo
"obbligo" di prova al tag a):
http://www.criosoftware.it/Layout3Colonne.htm
Che viene validato correttamente:
http://validator.w3.org/check?uri=http%3A%2F%2Fwww.criosoftware.it%2FLayout3Colonne.htm&charset=%28detect+automatically%29&doctype=%28detect+automatically%29
Problema 1) lascia scritto a video un antipatico ]>, come mai? (sia IE che
firefox)
Problema 2) Per farlo funzionare ho dovuto usare codice inline:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-flat.dtd
" 
 [
  <!ATTLIST a obbligo CDATA #IMPLIED>
 ]>
 
Vorrei invece metterlo nel mio dtd ma in qualunque modo provo mi ignora
"obbligo" (il validator mi dice che non è un attributo riconosciuto).
Dtd (Criosoftware.dtd):
<!ENTITY % w3c-dtd PUBLIC "-//W3C//DTD XHTML 1.1 Strict//EN"
"
http://www.w3.org/TR/xhtml1/DTD/xhtml1-flat.dtd
">
  %w3c-dtd;
  <!ATTLIST a  
    obbligo  CDATA  #IMPLIED
  >
E nella pagina
<!DOCTYPE html PUBLIC "-//Criosoftware//DTD XHTML 1.0 Modified//EN"
"
http://www.criosoftware.it/Criosoftware.dtd
">
Ho trovato in rete questo esempio più volte ma niente, obbligo in anchor
non me lo considera...dove sbaglio?
-- 
"That until there is no longer first class
And second class citizens of any nation
Until the colour of a man's skin
Is of no more significance than the colour of his eyes
Me say war"
B.M.

 non me lo considera...dove sbaglio?
Mai provato anche se tempo fa mi sono posto lo stesso problema (e mi sa che 
ne ho parlato anchqe qui nel ng).
Credo che dovresti dichiarare la DTD PRIVATE.
All'epoca feci qualche esperimento, ma non riuscii a validare.
Cmq lasciai perdere perche' di fatto non mi serviva.
-- 
Ciao, Riccardo
------------------------------------------------------------------------
http://www.jsdir.com
  ---- Bring Your Site To Life!!!!
http://www.wmtools.it
 ---- WebMasterTools - Servizi per il tuo sito
http://www.dev2dev.it
 ---- La rete ha connesso nuove particelle - D2D006
------------------------------------------------------------------------
Per rispondere: togli il PUNTO .

 Cmq lasciai perdere perche' di fatto non mi serviva.
Però in rete trovi chiaramente scritto che è fattibile...solo che gli
esempi che trovo poi, in pratica, non funzionano (usano il dtd del w3 e
ignorano le aggiunte)
-- 
"E' l' ignoranza che crea l'intolleranza
 di gente cieca e senza coscienza"
									  S.S.S.

 "obbligo" (il validator mi dice che non è un attributo riconosciuto).
Primo, va visto il codice. Secondo, non mi ricordo come l'attuale versione
del validator online funziona, e quindi se e come supporta DTD proprietarie
e altro.. so per certo che un tempo aveva certe limitazioni.
Infatti io solitamente valido con un programmillo locale che mi tratta
l'XHTML come un XML e mi matcha con la DTD effettiva.
Stai attento inoltre a usare una tua DTD con riferimento a quella
"ufficiale". Rischi che il browser non la riconosca come tale.
-- 
ZER0://coder.gfxer.web-designer/
~ Ci siamo fatti una scopata cosi' eccezionale che anche i vicini hanno
fumato una sigaretta.

 "ufficiale". Rischi che il browser non la riconosca come tale.
:-O
E perché?
Ma allora l'unica strada è quella del dtd messo nella pagina htm?


 Ma allora l'unica strada è quella del dtd messo nella pagina htm?
No, in tutta sincerita' il mio consiglio e' quello di lasciar perdere
questa strada, e generare codice XHTML classico; e se proprio vui avere dei
tuoi tag o attributi proprietari, farti un framework server-side in
XML/XSLT.. e' tutto molto piu' pulito.
Questo, finche' i browser non riconosceranno l'XHTML come un linguaggio
XML, invece che come un fratello gemello di HTML.
-- 
ZER0://coder.gfxer.web-designer/
~ I feel like I'm diagonally parked in a parallel universe.

 XML/XSLT.. e' tutto molto piu' pulito.
Però lo consigliano, anzi dicono che è una strada consigliata (su w3, non
so il link perché tra ieri e oggi ho letto qualche migliaio di pagine,
parlavano proprio di espansione del dtd per attributi utilizzabili via
script, che è quello che vorrei ottenere io)
-- 
"Emancipate yourselves from mental slavery;
None but ourselves can free our minds"
									    B.M.

 Però lo consigliano, anzi dicono che è una strada consigliata
Che sia la strada consigliata non lo metto in dubbio; che i browser ancora
non la seguono idem.
Del resto, e' vero che il w3c e' da anni che spinge per separare il
contenuto dalla forma, ma e' altresi' vero che se la gente ha dovuto fare i
salti mortali con la "vecchia scuola" era perche' i browser di allora
avevano un decimo dei punti in comune che hanno quelli odierni, e seguivano
specifiche interne e/o interpretazioni delle (allora) raccomandazioni.
-- 
ZER0://coder.gfxer.web-designer/
~ La vita e' una tempesta, ma prenderla nel culo e' un lampo.
(B. Grillo)

 non la seguono idem.
Eggià...quello che cercavo di capire è se vi era un modo per cercare di
prepararsi al futuro prossimo.
Se riesco a far funzionare la dtd e ad usare xhtml strict (anche
espandendolo con i miei attributi) bene, altrimenti lascerò perdere. Quella
del codice inline ma con ]> visualizzati sul browser è improponibile,
purtroppo.
-- 
"Ti sei salvato
 o sei entrato in banca pure tu?"
									    A.V.

 purtroppo.
IMVHO, e' improponibile anche la gestione di attributi proprietari sui
vecchi browser. Se vuoi gestire attributi proprietari, allora IMVHO cade la
retrocompatibilita' a prescindere. Secondo me non sono cose da fare a
livello world wide web, tutto qui. A livello di applicativi interni, o
eventualmente pagine amministrative, quello si.
-- 
ZER0://coder.gfxer.web-designer/
~ Alcune persone sono ancora vive per il semplice motivo che e'
illegale ucciderle.

 al futuro prossimo si muore.
Il problema non è netscape4 (se mettesse ]> solo con netscape4 e IE4 mi
andrebbe bene), a me il ]> lo mette anche con IE6 e firefox...


 andrebbe bene), a me il ]> lo mette anche con IE6 e firefox...
Ribadisco, se sposti tutto questo su XML/XSLT risolvi i problemi a monte, e
sicuramente sei piu' in linea con gli standard.
Inoltre, ti ripeto la mia perplessita' sull'usare attributi custom laddove
si vorrebbe mantenere un certo grado di retrocompatibilita'..
E per quanto riguarda IE6 e Firefox se vuoi ti passo i miei hack.
-- 
ZER0://coder.gfxer.web-designer/
~ "In svizzera noi non avevamo il campeggio, ma il Lager."
(Domenico, durante una discussione sui campeggi per bimbi)

 E per quanto riguarda IE6 e Firefox se vuoi ti passo i miei hack.
Se va solo con IE6 ti ringrazio ma non mi serve a nulla, se va anche con
IE5.0 allora sì, ti ringrazio (se non lo sai passa che provo io).


 IE5.0 allora sì, ti ringrazio (se non lo sai passa che provo io).
Uno dei due va sicuramente anche con IE5.0; ma ti ripeto le perplessita' di
cui prima..
-- 
ZER0://coder.gfxer.web-designer/
~ You don't have to be crazy to be a webmaster. But it helps.

 tempo di testo che genera, dipende da te.
Allora non capisco. Se è lato server come posso integrare il mio attributo
custom? Qualunque cosa generi lato server alla fin fine avrò scritto un
"obbligo" dentro a un tag, e il validator segnalerà sempre errore.
Stai dicendo "lascia stare completamente il validator e non rendere la
pagina xhtml, quindi?"
-- 
"Affacciati affacciati benedici, guardaci
 guardaci...guardaci!
 Tanto sono quasi duemila anni che stai a guardare!"
									    E.B.

 pagina xhtml, quindi?"
No.


 capirai cosa intendo dire.
Sì, io sto pensando a come aggiungere miei attributi alla dtd, è qua che
voglio arrivare.
Provo a rileggere il tuo post dove accennavi anche a questo.


 XML/XSLT.. e' tutto molto piu' pulito.
Eccoci qua...riletto ma è un po' "vago".
Cerco un po' in giro se trovo qualcosa (ma il tempo è tiranno ed è scaduto
per me, almeno per un po')


 voglio arrivare.
Se utilizzi quell'approccio, elimini il problema alla radice, e non devi
aggiungere alcunche' alla DTD lato client.
-- 
ZER0://coder.gfxer.web-designer/
~ "L'arte non riproduce cio' che e' visibile,ma rende visibile cio' che
non sempre lo e'" (Paul Klee)

 (ma il tempo č tiranno ed č scaduto per me, almeno per un po')
Allora lascia perdere, se sei in lotta contro il tempo non credo tu ti
possa permettere una curva di apprendimento, qualunque essa sia, devi
produrre immediatamente.
E in tal senso quindi, puoi optare le se seguenti cose:
a) Torna alla vecchia scuola, e passa a quella "nuova" appena hai un po'
piu' di tempo e/o modo.
b) Passa alla "nuova", ma evita di estendere la DTD, in quanto tra le altre
cose non andrebbe fatto nel momento stesso in cui si desidera un certo tipo
di retrocompatibilita'.. Secondo me ti stai impuntando su un problema che
potresti tranquillamente non avere. E scrivere codice piu' pulito e
conforme, e' anche piu' indicato se devi iniziare a imparare questo tipo di
approccio al web, che e' nuovo per te, piuttosto che imbastire con cose
proprietarie.
Se deciderai di fare il passaggio, avrai ben altri problemi al quale
dedicare il tuo tempo, piuttosto che questi.
(ovviamente, il tutto IMVHO)
-- 
ZER0://coder.gfxer.web-designer/
~ "Rispetto e' Memoria, non Oblio."

 piu' di tempo e/o modo.
Esatto. Al solito non riuscirň piů a trovare tempo nel prossimo anno,
comunque...
Grazie di tutto.
