Hola
Bueno, la emoción de los comentarios de quien, definitivamente, es una guía y fuente inagotable de soluciones para mi, me turba, así que kemie, trataré de explicarme lo mejor posible.
Primero tomaré un fragmento de
aquí:
Cita: What is XHTML?
The Extensible HyperText Markup Language (XHTML™) is a family of current and future document types and modules that reproduce, subset, and extend HTML, reformulated in XML. XHTML Family document types are all XML-based, and ultimately are designed to work in conjunction with XML-based user agents. XHTML is the successor of HTML, and a series of specifications has been developed for XHTML. ...
De aquí saco un par de ideas, la existencia de «módulos» y el hecho de que el html se «basa» en XML, no solo para reestructurar las etiquetas, si no en algo más, posteriormente vi que parte de este «algo más» es la formulación de las definiciones y las DTD's.
Así que entre otras cosas, traté de conseguir información sobre los módulos. Era bastante obvio que la respuesta debía estar en la documentación relativa a la
modularización del XHTML, pero claro, lo obvio suele ser muy complicado para mi, así que esta fué una de las últimas cosas que revisé.
;)
Sin embargo, por motivos de orden de pensamientos y para que esto quede un poco más lógico, seguiré por ese documento.
Primero, tomamos la definición del XHTML:
Cita: 1.1. What is XHTML?
XHTML is the reformulation of HTML 4 as an application of XML. XHTML 1.0 [XHTML1] specifies three XML document types that correspond to the three HTML 4 DTDs: Strict, Transitional, and Frameset. XHTML 1.0 is the basis for a family of document types that subset and extend HTML.
De ahí vemos que el XHTML es una «familia» o grupo de tipos de documentos, si tomamos en cuenta que el XHTML 1.1 y el 2.0 son nuevas versiones del 1.0, debía existir algo más, algún «miembro» más de esa «familia».
Pero sigamos.
Cita: 1.2. What is XHTML Modularization?
XHTML Modularization is a decomposition of XHTML 1.0, and by reference HTML 4, into a collection of abstract modules that provide specific types of functionality. These abstract modules are implemented in this specification using the XML Document Type Definition language, but an implementation using XML Schemas is expected. The rules for defining the abstract modules, and for implementing them using XML DTDs, are also defined in this document.
These modules may be combined with each other and with other modules to create XHTML subset and extension document types that qualify as members of the XHTML-family of document types.
De aquí vemos que la modularización es la descomposición de las reglas del XHTML en pequeños módulos específicos, los cuales han de ser implementados según las reglas del XML; vemos también que los módulos pueden ser utilizados en solitario o combinándolos. Si extendemos esta regla, podemos considerar que una versión del XHTML es una recopilación de todos los módulos, por lo tanto, si combinamos una versión de XHTML con un módulo espcífico, debemos estar dentro de las reglas. Este fué un momento crítico, sonó tan evidente y esclarecedor que algo debía ir mal.
Cita: 1.3.3. Hybrid document types
A hybrid document type is an document type composed from a collection of XML DTDs or DTD Modules. The primary purpose of the modularization framework described in this document is to allow a DTD author to combine elements from multiple abstract modules into a hybrid document type, develop documents against that hybrid document type, and to validate that document against the associated hybrid document type definition.
One of the most valuable benefits of XML over SGML is that XML reduces the barrier to entry for standardization of element sets that allow communities to exchange data in an interoperable format. However, the relatively static nature of HTML as the content language for the Web has meant that any one of these communities have previously held out little hope that their XML document types would be able to see widespread adoption as part of Web standards. The modularization framework allows for the dynamic incorporation of these diverse document types within the XHTML-family of document types, further reducing the barriers to the incorporation of these domain-specific vocabularies in XHTML documents.
Aquí ví plasmada la existencia real de «documentos híbridos», claro que no plantean exactamente lo mismo que yo decía arriba, con lo que tuve mis mometos de temor, pero bueno, parece que la cosa avanzaba.
Cita: 1.3.4. Validation
The use of well-formed, but not valid, documents is an important benefit of XML. In the process of developing a document type, however, the additional leverage provided by a validating parser for error checking is important. The same statement applies to XHTML document types with elements from multiple abstract modules.
A document is an instance of one particular document type defined by the DTD identified in the document's prologue. Validating the document is the process of checking that the document complies with the rules in the document type definition.
One document can consist of multiple document fragments. Validating only fragments of a document, where each fragment is of a different document type than the other fragments in the document, is beyond the scope of this framework - since it would require technology that is not yet defined.
However, the modularization framework allows multiple document type definitions to be integrated and form a new document type (e.g. SVG integrated into XHTML). The new document type definition can be used for normal XML 1.0 validation.
Este punto fué fundamental, la validación, el quid de los problemas. Revisando este punto, vi que la inclusión de varias definiciones de documento son permitidas, claro que no tiene sentidointentar cosas como html 3.2 y xhtml 1.1, pero si cosas diferentes como SVG + XHTML o XHTML y un módulo específico.
Bueno, en este momento ya estaba bastante claro que existía la posibilidad de hacer la mezcla, pero ¿dónde está el segundo elemento para esta mezcla?. El w3c es un sitio muy completo, pero poco amigable para conseguir algunas cosas, y lo que yo buscaba es una de esas cosas bien escondidas. Sin embargo, siguiendo un consejo de un caso con ciertas similitudes tratado en una lista de XHTML, empecé a pensar en cuál podía ser mi patrón de búsquedas.
Y así llegué a
esto, un listado de módulos del XHTML, dicho catálogo dice ser del año 2000, sin embargo, me llamó mucho la atención que parte de la ruta menciona las «schemas», cosa que se suponía futura para la versión del XHTML modularization. Bueno, la cosa, es que ahí conseguí el módulo, ahora solo me faltaba la receta.
No daba con ello, cuando revisando ventanas del navegador, volví a ver el mensaje en cuestión y ahí usaban la palabra «plus», así que decidí usarla, hice un par de pruebas (relamente como 10) hasta que encontré la sintaxis adecuada y así salió por fin:
Código:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus Target 1.0//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
Debo decir que después de tener esto y haber publicado el mensaje, seguí revisando y encontré que en el apéndice B del
XHTML™ 1.1 - Module-based XHTML, es decir donde hablan de la DTD del XHTML 1.1, están los módulos actualizados. Pueden revisarlo
aquí. En esa lista, ya no existe el módulo del «target», aunque si he visto unos interesantes con los que quiero hacer pruebas, como el de las client-side image maps y los iframes.
Bueno, espero no haber sido demasiado extenso y haber explicado más o menos como di con esa opción.
Para quienes se saltaron la parte pesada del mensaje o para quienes no se lo hayan creido...
¡ fué pura suerte !
no volverá a salir
Felicidad