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

    [XHTML] Come Estendere un DTD ?

    ho necessità di aggiungere attributi ad alcuni elementi in una pagina XHTML1.1: in sintesi devo poter indicare nei tag <A> una sorta di classificazione del link tipo categoria="menu"

    conosco 2 trucchi:
    - usare impropriamente più istruzioni dentro "class"
    - nascondere tali variabili come commento posto nel contenuto del tag (mia invenzione )

    ...ma sinceramente i "trucchi" mi danno noia, tuttavia modificare un DTD è improponibile, sia perchè rallenta il caricamento del sito, sia perchè W3C sconsiglia ciò, sia perchè IE sembra schifire i DTD personalizzati (il che non sarebbe un problema perchè tanto a IE va servita la pagina in normale html)

    quindi mi chiedevo: come si estende un DTD? ovvero voglio che sia usato il DTD ufficiale ma a cui aggiungo 2 attributi per un elemento

    che si debba creare un modulo poi da includere nel pagina web? ma come si fa?

    dal sito W3C sembra sia possibile ma non capisco come nel pratico:
    6.4.1. Integrating a stand-alone module into XHTML

    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  2. #2
    ho trovato ora 1 su internet che ha fatto creato un DTD in cui si mixa XHMTL1.1 ed il modulo "target.mod":

    Codice PHP:
    <!-- Filexhtml11-target.dtd

       XHTML 1.1 DTD which loads the optional Target 1.0 Module
    .

       Public and 
    System Identifiers:

            PUBLIC 
    "-//golem.ph.utexas.edu//DTD XHTML 1.1 plus Target 1.0//EN"
            
    SYSTEM "http://golem.ph.utexas.edu/DTD/xhtml11-target.dtd"

        
    You might want to save a copy to your local machine and change the System
        Identifier appropriately
    .

        
    The corresponding DOCTYPE declaration:

            <!
    DOCTYPE html
                
    PUBLIC "-//golem.ph.utexas.edu//DTD XHTML 1.1 plus Target 1.0//EN"
                "http://golem.ph.utexas.edu/DTD/xhtml11-target.dtd"
    >

        
    Original ideaDave H <dmh@dmh.org.uk>
                       [
    url]http://www.dmh.org.uk/[/url]

    -->
    <!
    ENTITY XHTML.version
        
    "-//golem.ph.utexas.edu//DTD XHTML 1.1 plus Target 1.0//EN" >
    <!
    ENTITY xhtml11.mod
        
    PUBLIC "-//W3C//DTD XHTML 1.1//EN"
        "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd" 
    >
    %
    xhtml11.mod;
    <!
    ENTITY xhtml-target.mod
        
    PUBLIC "-//W3C//ELEMENTS XHTML Target 1.0//EN"
        "http://www.w3.org/TR/xhtml-modularization/DTD/xhtml-target-1.mod" 
    >
    %
    xhtml-target.mod
    funziona alla grande anche su IE6, dove la pagina viene caricata in StandardMode e no QuirksMode...tuttavia non fa altro che sommare 2 moduli standard, quindi già presenti nella memoria del browser ... quindi andrebbe ancora provato ad estendere con un modulo "fatto in casa"

    ps: dubbio in extremis: ma i validatori spero che ovviamente effetuino la validazione anche con DTD personalizzati vero?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  3. #3
    non c'è scampo, se non si utilizza DTD ufficiali ci sono 2 problemi:
    - i validatori famosi non funzionano
    - i DTD dovranno essere caricati dal browser

    l'ideale era introdurre attributi in modalità "inline" ma IE fa apparire quei noiosi 2 caratteri in cima

    sembra proprio che si debba ricorrere a CLASS ...che p4ll3!!!

    ora mi tocca inventare funzioni javascript per gestire l'attributo class
    sì perchè spesso si ricorre al cambiamento al volo della className e quindi ora si complica tutto, poichè un cambiamento al volo mi cancellerebbe tutte le informazioni

    potrei fare questa funzione:
    Codice PHP:
    string CssClass() // legge la vera class css
    CssClass('LinkOn'); // scrive la vera class css
    string CssClass('livello'// legge la variabile "livello" inclusa nella proprietà "class"
    CssClass('livello') = 3// scrive la variabile "livello=3" inclusa nella proprietà "class" 
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  4. #4
    anche se possibile...

    è comunque consigliabile usare un proprio DTD?

    non è che rallenta ulteriormente il caricamento del sito?
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

  5. #5
    ok, salvo che qualcuno non mi illumini con la propria esperienza, concludo che lo sforzo non ne vale la candela, soprattutto se non ho la certezza che ciò che creo sia giusto al 100%
    Farmacia di Jarno - le mie pillole: Cookie [#780810], Dom4Php4 [#1123236], Fade [#1139489], getCssProperty [#1152911]
    Inchinatevi difronte al Prof! Nacchio!

    A me pare che l'uomo vada avanti con la retromarcia

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.