stringtranslate.com

Identificador público formal

Un identificador público formal ( FPI ) es un fragmento de texto breve con una estructura particular que se puede utilizar para identificar de forma única un producto, una especificación o un documento. Los FPI se introdujeron como parte del lenguaje de marcado generalizado estándar (SGML) y cumplen propósitos específicos en formatos derivados históricamente de SGML ( HTML y XML ). Algunos de sus usos más comunes son como parte de las declaraciones de tipo de documento (DOCTYPE) y las definiciones de tipo de documento (DTD) en SGML, XML e históricamente HTML, pero también se utilizan en los formatos de archivo vCard e iCalendar para identificar el producto de software que generó el archivo.

Más recientemente, los identificadores uniformes de recursos (URI) y los identificadores universalmente únicos (UUID) se utilizan habitualmente para identificar objetos de forma única. Los FPI se han convertido en un sistema heredado .

Sintaxis

Un FPI consta de un identificador de propietario , seguido de una barra doble ( //), seguido de un identificador de texto . [1] : 381–382  Por ejemplo, el identificador " -//W3C//DTD HTML 4.01//EN" se puede dividir en dos partes: el identificador de propietario que indica el emisor del FPI y el identificador de texto que indica el documento u objeto particular que identifica el FPI. [2] En el ejemplo, el identificador de propietario es " -//W3C" y el identificador de texto es " DTD HTML 4.01//EN".

El identificador de texto en sí consta de múltiples partes constituyentes. [1] : 385  Las secuencias de espacios en blanco se tratan como equivalentes a un solo espacio. [1] : 381–382 

Identificador del propietario

Hay tres tipos de identificadores de propietario, que se distinguen por sus primeros tres caracteres, que son ISOpara un identificador de propietario ISO , -//para un identificador de propietario no registrado o +//para un identificador de propietario registrado . [1] : 383–384 

Identificador del propietario de la ISO

Un identificador de propietario ISO es un número de publicación ISO como ISO 8879:1986, o un número de registro ISO-IR dado como p. ej. ISO Registration Number 111para ISO-IR-111 . El último tipo solo está permitido para CHARSETFPI (ver a continuación). En cualquier caso, se distingue al comenzar con los caracteres ISO, y no requiere ningún prefijo antes de esos caracteres. [1] : 383–384 

El año se separaba anteriormente del número estándar mediante un guion ( -, p. ej. ISO 8879-1986), [3] cuyo uso ahora está en desuso . [4] En cambio, ahora se utiliza el guion para separar el número de pieza del número estándar [2] (reemplazando el uso anterior de una sola barra ( /) para ese propósito); [5] el año sigue a cualquier número de pieza si está presente y se separa mediante dos puntos ( :). [2]

Identificador de propietario no registrado

Un identificador de propietario no registrado comienza con -//. [1] : 384–385  Los propietarios que utilizan identificadores no registrados incluyen el W3C ( -//W3C), [6] : 8–9  el Grupo de Trabajo de Ingeniería de Internet ( -//IETF), [7] el Departamento de Defensa de los Estados Unidos ( -//USA-DOD), [8] el Parlamento Europeo ( -//EP) [9] y otros. Dado que no está registrado, no se garantiza que sea único (otro propietario puede elegir el mismo identificador de propietario), lo que debilita la garantía de unicidad del FPI en su conjunto, aunque todavía se garantiza que sea distinto tanto de todos los demás FPI con el mismo propietario, como también de todos los FPI con propietarios registrados. [1] : 186 

Identificador del propietario registrado

Un identificador de propietario registrado comienza con los caracteres +//. Se refiere a un identificador registrado según lo estipula la norma ISO 9070. [1] : 384  La parte que se registra realmente es el prefijo de propietario registrado , que sigue a +//y puede ir seguida opcionalmente de una o más partes asignadas por el propietario que podrían identificar, por ejemplo, departamentos dentro de una organización. [1] : 184  Si se utilizan componentes del nombre del propietario adicionales al prefijo registrado, se separan del prefijo mediante un ::par. [2] [10] : 63 

Un prefijo de propietario registrado conforme a la norma ISO 9070 puede ser uno de los siguientes: [2]

Identificador de texto

Los identificadores de texto se pueden dividir en clase , descripción e idioma . En el ejemplo -//W3C//DTD HTML 4.01//EN, la clase es " DTD", lo que indica que el FPI representa una definición de tipo de documento; la descripción es " HTML 4.01"; y el idioma es " EN", lo que sugiere que la definición de tipo de documento está escrita en inglés (aunque los documentos que cumplen con la DTD no necesitan estar en inglés). [6] : 7  La clase se separa de la descripción mediante un carácter de espacio; la descripción se separa del idioma mediante una barra doble. El identificador de texto puede contener opcionalmente un indicador de versión después del idioma, también separado por una barra doble.

Clase

El identificador de texto sigue inmediatamente al //par después del identificador del propietario y debe comenzar con una de las siguientes palabras en mayúscula seguida de un espacio, especificando la clase de texto público : [1] : 385–387 

DOCUMENT, SUBDOCy TEXThacen referencia a documentos SGML o fragmentos de documentos SGML. [1] : 386  Los de la TEXTclase están pensados ​​para ser referenciados utilizando una entidad de texto (sin una palabra clave de tipo de entidad, es decir, insertados directamente en el documento), mientras que los de la SUBDOCclase están pensados ​​para ser referenciados utilizando una entidad de subdocumento (con la SUBDOCpalabra clave en la declaración de entidad, es decir, interpretada con sus propios esquemas individuales, espacios de nombres, etc.). [1] : 294–296, 400–401  Los de la DOCUMENTclase no están pensados ​​para ser referenciados como una entidad desde un documento adjunto.

CAPACITYy SYNTAXse refieren a partes de una declaración SGML. SD(para una declaración SGML completa) se agregó a esta lista mediante una extensión posterior agregada al estándar como anexo, que también especifica ciertas extensiones requeridas por XML. [13] LPD se refiere a una definición de proceso de enlace SGML (que define una transformación de un formato SGML a otro). ELEMENTS, ENTITIESy SHORTREFse refieren a partes de una definición de tipo de documento (DTD) que consiste en tipos específicos de declaración de marcado. DTDse refiere a una DTD completa.

Los tres restantes se refieren a conceptos externos a SGML: CHARSETse refiere a un conjunto de caracteres codificados , NOTATIONa un formato como un formato de archivo (ya sea para referencias a entidades de archivos externos o para interpretar un formato textual contenido dentro de un elemento), [1] : 336–337  y NONSGMLa un activo en un formato que no sea SGML.

Marcador de disponibilidad y descripción

El espacio después del nombre de la clase de texto va seguido de la secuencia -//si la FPI se refiere a un texto público no disponible [1] : 385  —es decir, un documento, archivo o especificación que no está disponible para el acceso o la compra por parte del público en general. [1] : 182  La descripción del texto público sigue a este marcador; para un texto público disponible , la descripción sigue inmediatamente al espacio después del nombre de la clase de texto. [1] : 385  Para una publicación ISO, la descripción se toma del elemento final del título de la publicación, sin contar ningún número de parte; de ​​lo contrario, puede ser cualquier cadena única adecuada de caracteres permitidos. [1] : 387  La descripción termina con otro //par. [1] : 385 

Secuencia de designación ISO 2022

La parte del FPI que sigue a la descripción depende de la clase de texto. Para CHARSETlos FPI, es una secuencia de designación de texto público , [1] : 385  que proporciona una representación textual de una secuencia de escape de designación ISO/IEC 2022ESC 2/8 4/0 en notación de columna/línea (por ejemplo ); se espera que los escapes de designación registrados coincidan con el identificador de propietario ISO proporcionado, mientras que los escapes de designación de uso privado tienen un espacio de nombres según el identificador de propietario del FPI. [1] : 389–390  Como ejemplo de este tipo de FPI, el FPI ISO Registration Number 177//CHARSET ISO/IEC 10646-1:1993 UCS-4 with implementation level 3//ESC 2/5 2/15 4/6se utiliza en la declaración SGML de HTML 4 para identificar Unicode . [14]

Idioma

Para todos los demás FPI (es decir, aquellos donde la clase no es CHARSET), la parte que sigue a la descripción es un lenguaje de texto público que es una secuencia de letras mayúsculas, que se recomienda encarecidamente (pero no se exige) que sea un código ISO 639-1 . [1] : 387–388  No llegar a exigir el uso de un código ISO 639-1 evita la necesidad de un software de validación para verificar si el lenguaje es un código ISO 639-1 y también permite la extensibilidad: [1] : 387  por ejemplo, una pequeña cantidad de FPI utilizados en la práctica utilizan códigos ISO 639-3 (como NDSpara el bajo alemán ) [15] o etiquetas de idioma IETF con guiones eliminados (como SRLATNpara el serbio escrito en gajica ) [16] para los casos en que los códigos ISO 639-1 resultan insuficientes para distinguir un recurso de versiones en otros idiomas o variedades de idiomas. De acuerdo con las recomendaciones realizadas por la norma ISO 9070 , Steven DeRose y David G. Durand sugieren utilizar XXsi no es aplicable el código ISO 639. [10] : 62 

La especificación señala que si bien el idioma del recurso puede afectar los datos y nombres definidos y el idioma de cualquier comentario del código fuente, el idioma afecta la usabilidad de algunas clases de texto más que otras. [1] : 387  Por ejemplo, el idioma ENdado en el FPI en una declaración DOCTYPE HTML 4 o XHTML 1 no debe cambiarse, independientemente del idioma de la página web en sí; [6] : 7  por el contrario, las hojas de estilo DSSSL para DocBook usan internamente FPI con diferentes idiomas para identificar conjuntos de entidades de tabla de cadenas para localizaciones particulares . [17]

Versión de visualización de la entidad

Además, a excepción de CHARSET, CAPACITY, NOTATIONy SYNTAXFPI, para los cuales la secuencia o idioma de designación debe ser la parte final, [1] : 390  el código de idioma puede ser seguido por otro //par, [1] : 385  seguido por una versión de visualización de texto público , que especifica una plataforma particular a la que debe apuntar la implementación de entidades SGML . [1] : 389–390 ISO 8879:1986//ENTITIES Added Latin 1//EN Por ejemplo, el conjunto de entidades base define las entidades nombradas en Latin-1 usando SDATAentidades tautológicas, [1] : 506–507  [18] mientras que ISO 8879:1986//ENTITIES Added Latin 1//EN//XMLlas implementa usando referencias de puntos de código Unicode para usar en XML . [19] De manera similar, el conjunto de entidades comunes para HTML 5 y MathML usa el FPI -//W3C//ENTITIES HTML MathML Set//EN//XML. [20]

Ejemplos de FPI

Uso en XML, SGML y HTML

El FPI es sin duda la parte menos comprendida de la declaración de tipo de documento (DOCTYPE), un componente integral de documentos HTML , XML y SGML ( lenguaje de marcado generalizado estándar ) válidos. [29] El efecto del Identificador público formal sobre su documento anfitrión es inusual en el sentido de que puede depender no sólo de su propia corrección sintáctica y del comportamiento del programa que lo analiza , sino también del estado de registro ISO de la organización responsable del esquema al que hace referencia el FPI. [30]

Identificadores públicos e identificadores de sistema en SGML

SGML utiliza dos formas de identificador para los recursos: los identificadores de sistema son únicos y significativos solo dentro de un sistema particular, mientras que los identificadores públicos son únicos y significativos dentro de un alcance más amplio. [1] : 186  El término "público" aquí no significa necesariamente que el recurso esté disponible para el público en general (puede que solo esté disponible dentro de una sola organización, por ejemplo, en cuyo caso, es un texto público no disponible ), sino solo que existe fuera del contexto del entorno del sistema particular o del documento en el que se hace referencia. [1] : 182  Un FPI es un identificador público "formal" en el sentido de que sigue la estructura formal establecida por el estándar SGML (ISO 8879); [1] : 183  Los identificadores públicos que no siguen la estructura formal y, por lo tanto, no son FPI, a veces se denominan identificadores públicos "informales". [1] : 186 

Aunque las restricciones de los identificadores públicos formales (en contraposición a los informales) son una característica opcional, debido a que la especificación para los FPI se introdujo tarde en el desarrollo de la norma ISO 8879, se recomienda encarecidamente el uso de FPI para identificadores públicos, ya que la estructura de FPI garantiza que los FPI asignados por un propietario no entren en conflicto con los FPI asignados por otros propietarios (excepto en el caso de propietarios no registrados con nombres en conflicto), mientras que los identificadores públicos informales no tienen garantía de unicidad, lo que significa que los asignados por un propietario pueden entrar en conflicto con identificadores públicos formales o informales asignados por otro. [1] : 186  Una característica que permite la interpretación de identificadores públicos utilizando la estructura formal, requiriendo así que los identificadores públicos sean FPI, se puede habilitar dentro de la declaración SGML utilizando el FORMALnombre de la característica. [1] : 64, 88, 378 

Los identificadores de sistema, por el contrario, no tienen una estructura definida por el propio SGML (pueden ser nombres de archivos, claves de bases de datos o incluso direcciones para almacenamiento indexable), sino que son interpretados por el componente de administrador de entidades del sistema SGML para identificar la ubicación de la entidad. [1] : 378  Como tal, la propia ISO/IEC 8879 no utiliza el término identificador formal del sistema (FSI), que en cambio se define en una enmienda a la ISO/IEC 10744 ( HyTime ). [31]

Un identificador externo SGML consta de la palabra clave PUBLICseguida de un literal para el identificador público y un literal opcional para el identificador del sistema, o de la palabra clave SYSTEMseguida de un literal opcional para el identificador del sistema. [1] : 379  Los literales tienen como prefijo y sufijo el delimitador literal o el delimitador literal alternativo , [1] : 380–381  normalmente establecido por la declaración SGML en las comillas ASCII dobles y simples, como están en la sintaxis concreta de referencia para SGML, [1] : 372  y también en XML. [32] Se permite el uso de la SYSTEMpalabra clave en una definición de entidad SGML sin un identificador de sistema siguiente, si el administrador de entidades puede resolver la entidad solo a partir de su nombre. [1] : 378  Los identificadores externos se utilizan en declaraciones de tipo de documento (DOCTYPE) que hacen referencia a definiciones de tipo de documento (DTD), [1] : 403  en especificaciones de entidad externa [1] : 400  y declaraciones de notación [1] : 427  dentro de las DTD, y en declaraciones de tipo de enlace que hacen referencia a definiciones de proceso de enlace (LPD). [1] : 433–434 

Avances en XML

Introducción de URIs y marginación de FPIs

Los identificadores externos en XML están más restringidos que en SGML en general, y los cambios están alejando el foco de los identificadores públicos como los FPI y orientándolos hacia la estandarización de la forma que adoptan los identificadores de sistema. El identificador de sistema debe tratarse como un URI (absoluto o relativo) , [33] [34] pero no debe contener un identificador de fragmento de URI (parte que comienza con #). [34] El identificador de sistema también es generalmente obligatorio: [35] la SYSTEMpalabra clave debe ir seguida de un literal de identificador de sistema, y ​​la PUBLICpalabra clave debe, en la sintaxis para identificadores externos generales, ir seguida de literales tanto para los identificadores públicos como para los de sistema. [34] Sin embargo, como excepción a esto, las declaraciones de notación pueden utilizar un identificador público sin un identificador de sistema. [36]

A diferencia del requisito de que el identificador del sistema sea un URI (clasificado para los fines de HyTime como un tipo de identificador formal del sistema o FSI, [31] [37] : 19  o más estrictamente como un identificador de objeto de almacenamiento ), [31] la característica SGML FORMALestá deshabilitada en XML, [33] [38] ya que el formato de los identificadores públicos no está especificado por XML (es decir, no se requiere explícitamente que sean FPI, aunque pueden serlo). Los únicos detalles que la especificación XML estipula sobre el identificador público son que puede proporcionarse junto con el identificador del sistema y puede ser utilizado por un procesador XML junto con otra información para determinar un URI alternativo (en su defecto, se requiere utilizar el URI proporcionado en el identificador del sistema). [34]

Las cadenas de identificación para espacios de nombres XML deben ser URI no vacíos (como una URL absoluta; el uso de URL relativas está en desuso), [39] aunque no es necesario que sean URL resolubles y pueden ser, por ejemplo, URN . [35]

Sustitución de DTD

Además, los formatos de esquema alternativos como XML Schema (XSD) sirven como un competidor de DTD en un contexto XML, superando algunas de las limitaciones de los DTD. XSD puede (a diferencia de los DTD) validarse utilizando las mismas herramientas que cualquier otro documento XML, [40] incluye soporte para espacios de nombres XML (que los DTD solo pueden interpretar como porciones fijas de los nombres de elementos y atributos en cuestión), [41] permite que se coloquen restricciones de expresiones regulares en el formato de datos de texto como números de teléfono, y es más capaz de expresar estructuras de modelos de contenido complejas. [40]

Por lo tanto, es menos común que los formatos XML utilicen un DTD (como los que podrían utilizar FPI para notaciones o entidades externas), y por lo tanto es menos común que uno contenga un DOCTYPE que haga referencia a un DTD (ya sea por FPI o solo por URI, aunque un DOCTYPE todavía puede usarse para definiciones de entidades integradas dentro del propio archivo XML). [42] Por ejemplo, la mayoría de las versiones de RSS (excepto RSS 0.91) no tienen un DTD oficial. [43] De manera similar, el formato DocBook , que inicialmente utilizaba una declaración de tipo de documento que identificaba un DTD por un FPI, cambió su definición de esquema principal de DTD a RELAX NG en la versión 5.0, y dejó de utilizar declaraciones de tipo de documento en ese momento, [44] y Scalable Vector Graphics (SVG) hizo lo mismo en la versión 1.2. [42]

Consulta y resolución de FPI

Si no se proporciona un identificador de sistema (como una ruta o URL) para un recurso identificado por un identificador público como un FPI, un administrador de entidades del sistema SGML generará uno con referencia al identificador público. Aunque la especificación SGML en sí no especifica cómo debe hacer esto el administrador de entidades, [7] : 65–66  la intención era que utilizara una tabla que asignara identificadores públicos a identificadores de sistema. [1] : 180  En consecuencia, se creó un formato de catálogo SGML para contener asignaciones de identificadores públicos a identificadores de sistema; el archivo de catálogo también puede especificar reglas para anular el identificador de sistema dado. [7] : 65–66  [45] [46] [47]

Aunque XML exige el uso de identificadores de sistema en más lugares que el propio SGML, los catálogos pueden seguir siendo necesarios para reasignar y anular el identificador de sistema dado: un identificador de sistema que sea una ruta local puede no ser útil en otras máquinas, mientras que uno que sea una URL de red no será útil cuando no haya una conexión de red disponible, por ejemplo. [35] En consecuencia, existe un formato de catálogo alternativo basado en XML para su uso por parte del software XML, que admite reglas para reemplazar o reescribir URI, así como para asignar FPI a URI. [35]

Por ejemplo, una entrada en un catálogo SGML puede proporcionar la ruta local (relativa al archivo de catálogo) a una copia del DTD de Scalable Vector Graphics 1.1 y especificar la declaración SGML (en este caso, la declaración para la sintaxis XML) que un procesador SGML debería usar para ella: [48]

PÚBLICO "-//W3C//DTD SVG 1.1//ES" svg11.dtdDTDDECL "-//W3C//DTD SVG 1.1//ES" /usr/share/xml/declaration/xml.dcl

El esquema para el formato de catálogo XML alternativo se define en un DTD, identificado por un FPI ( -//OASIS//DTD Entity Resolution XML Catalog V1.0//EN). [49] De manera similar, permite que se expresen las asignaciones de FPI a rutas, aunque, dado que está destinado a usarse solo con XML, no admite la especificación de una declaración SGML alternativa, [35] aunque existen extensiones para expresar el resto de la información expresable en un catálogo SGML. [50] La asignación de FPI de DTD anterior se representa de la siguiente manera: [49]

<public publicId= "-//W3C//DTD SVG 1.1//ES" uri= "svg11.dtd" />  

Uso en HTML

HTML 2 a 4

Las versiones HTML 2 a 4 (incluido el XHTML 1.x basado en XML ) se definieron como perfiles de SGML y se especificaron con una declaración SGML y una definición de tipo de documento (DTD). La versión particular de DTD en uso se especificó en una declaración de tipo de documento utilizando una FPI, a veces (especialmente en las versiones posteriores, y requerida en XML como se mencionó anteriormente) en combinación con una URL para el archivo DTD como un identificador del sistema. [6] : 8–9  A diferencia de la declaración SGML para XML, [33] la declaración SGML para HTML habilitó la FORMALcaracterística, [14] lo que significa que los identificadores públicos utilizados para y dentro de las DTD HTML debían ser FPI.

Una declaración de tipo de documento (para HTML 4.01 Strict) [51] que contiene un FPI:

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//ES" "http://www.w3.org/TR/html4/strict.dtd">

El FPI en la declaración de tipo de documento anterior se lee -//W3C//DTD HTML 4.01//EN, [30] mientras que la URL se proporciona como un identificador de sistema. El FPI era, estrictamente hablando, opcional: también era posible (pero poco común) definir un DTD HTML personalizado y omitir el FPI; en este caso, la inclusión de un identificador de sistema sin un FPI se indica mediante la SYSTEMpalabra clave. [6] : 6–7  Un ejemplo de un identificador de sistema personalizado de este tipo sin un FPI asociado es: [52]

<!DOCTYPE html SYSTEM "http://www.ibm.com/data/dtd/v11/ibmxhtml1-transitional.dtd">

Rastreo de DOCTYPE

Dado que estaban destinadas principalmente a ser utilizadas por validadores SGML, las declaraciones de tipo de documento fueron ignoradas inicialmente por los navegadores. Sin embargo, las páginas web antiguas fueron diseñadas para visualizarse correctamente en los navegadores que se utilizaban en el momento en que se crearon, lo que no necesariamente cumplía con las especificaciones de, por ejemplo, CSS en la forma en que representaban las páginas web. Dado que esto significaba que mejorar su cumplimiento de los estándares haría que los navegadores mostraran las páginas web existentes de forma incorrecta, los navegadores usaban la declaración de tipo de documento para activar los "modos" en los que se representaría la página. [37] : 17–18 

El "modo Quirks" conservaba el comportamiento heredado de versiones anteriores del navegador para evitar romper las páginas existentes; por ejemplo, las versiones 6 y 7 de Internet Explorer mostraban la página utilizando el modelo de caja de Internet Explorer 5.5. El "modo estándar" se ajustaba más a las especificaciones pertinentes. Lo que en ese momento se denominaba "modo casi estándar" e inicialmente implementado por Firefox y Safari utilizaría el comportamiento tradicional al determinar la altura de las celdas de la tabla que contenían imágenes, pero por lo demás se comportaría como el modo estándar; esto correspondía al comportamiento del "modo estándar" de Internet Explorer en el momento en que se introdujo. [6] : 9–11  [37] : 18–19 

Por ejemplo, un DOCTYPE que utilice el FPI estricto de HTML 4.01 ( -//W3C//DTD HTML 4.01//EN) activaría el modo estándar en Internet Explorer 6, lo que significa que utilizaría un modelo de caja de contenido, mientras que un DOCTYPE que utilice el FPI transicional de HTML 4.01 ( -//W3C//DTD HTML 4.01 Transitional//EN) activaría el modo peculiar, incluido el uso de un modelo de caja de Internet Explorer 5.5 (border-box). [6] : 9–11  Además del FPI, los navegadores considerarían la presencia o ausencia de un identificador de sistema al decidir entre el modo peculiar y el modo estándar. La ausencia total de una declaración DOCTYPE (o, para Internet Explorer 6, que la declaración DOCTYPE no sea la primera línea del archivo) activaría el modo peculiar. [37] : 19–20 

HTML 5

HTML 5 no está definido como un perfil de SGML, excepto en su representación XHTML. Por lo tanto, no se define mediante un DTD.

Los primeros borradores de HTML 5 usaban el NONSGMLFPI de tipo -type -//WHATWG//NONSGML HTML5//ENen el DOCTYPE en lugar de un FPI de DTD, ya que no activaba el modo peculiar de Internet Explorer 6. [53] Esto se eliminó por completo y el DOCTYPE HTML 5 final no usa un FPI. La forma preferida es simple <!DOCTYPE html>(sin un identificador público ni de sistema), aunque se permite un identificador de sistema de about:legacy-compat(usando el esquema de URI about :). [54]

Por el contrario, se permite la representación XML (XHTML) pero no se exige que tenga ningún DOCTYPE, pero no se proporciona ningún DTD de validación para el esquema HTML 5. [55] Sin embargo, varias FPI para XHTML 1.0, XHTML 1.1 y DTD MathML se definen como que apuntan a un URI de datos (para evitar requerir acceso a la red) que contiene las definiciones de las entidades de caracteres . [56]

La única función de un FPI en la representación HTML de HTML 5 (en contraposición a XHTML) es activar los modos heredados. El estándar HTML WHATWG especifica una lista de los FPI que deberían activar el modo de peculiaridades. Estos incluyen los FPI para varios DTD HTML personalizados por el proveedor. También incluyen los FPI para los DTD de los diversos "niveles" de HTML 2.0, así como los de HTML 3.0, 3.2 y las versiones Transitional y Frameset de HTML 4.0 y 4.01, excepto que cuando los FPI Transitional y Frameset de HTML 4.01 (pero no HTML 4.0) están acompañados por un identificador de sistema, en su lugar activan el modo casi estándar (renombrado como "modo de peculiaridades limitadas"). Los FPI Transitional y Frameset de XHTML 1.0 activan el modo de peculiaridades limitadas incondicionalmente. En su mayoría, se especifican como prefijos que incluyen el propietario, la clase y la descripción (pero que coinciden con cualquier parte del lenguaje). [52]

Relación con las URI

Cada vez más, las especificaciones utilizan URI en lugar de FPI para gestionar la tarea de identificación única. Por ejemplo, los nombres de espacios de nombres XML son URI.

Se ha definido un espacio de nombres de nombre de recurso uniforme (URN) para permitir que cualquier FPI se reescriba como un URI, [11] reemplazando las barras dobles por dos puntos . El ejemplo anterior se puede escribir como el siguiente URI:

urna:publicid:-:W3C:DTD+HTML+4.01:ES

Referencias

  1. ^ abcdefghijklmnopqrstu vwxyz aa ab ac ad ae af ag ah ai aj ak al am an ao ap aq ar como en au av Goldfarb, Charles F. (1990). El manual SGML . Oxford : Prensa de Clarendon . ISBN 0-19-853737-9.
  2. ^ abcdefghijk Tauber, James K. (10 de abril de 1996). "Identificadores públicos formales (FPI)". CoverPages.org.
  3. ^ "El uso de guiones o dos puntos en el identificador de propietario ISO". Gestión de entidades . Organización para el Avance de los Estándares de Información Estructurada (OASIS). 1997-09-10. Resolución técnica OASIS 9401:1997.
  4. ^ "sgml-iso-entities-8879.1986/catalog". Un paquete Debian para datos SGML básicos . Debian . 19 de mayo de 2013.
  5. ^ "Módulo de notaciones DocBook V4.5". Organización para el Avance de los Estándares de Información Estructurada (OASIS). 2006-10-03." <!NOTATION CGM-BINARY PUBLIC "ISO 8632/3//NOTATION Binary encoding//EN">"
  6. ^ abcdefghi Lloyd, Ian (2008). La referencia definitiva de HTML . Collingwood, Victoria : SitePoint . ISBN 978-0-9802858-8-8.
  7. ^ abc Berners-Lee, Tim ; Connolly, Daniel W. (noviembre de 1995). Lenguaje de marcado de hipertexto - 2.0. Grupo de trabajo de redes. doi : 10.17487/RFC1866 . RFC 1866. Histórico. Obsoleto por RFC 2854.
  8. ^ "Apéndice A: Ejemplo de definición de tipo de documento" (PDF) . Aplicación del Departamento de Defensa de la norma MIL-PRF-28001 mediante lenguaje de marcado generalizado estándar (SGML) . Departamento de Defensa de los Estados Unidos . 1995-06-30. pág. 138. MIL-HDBK-28001.
  9. ^ ab "Derecho autoritario: metodología de investigación y datos de votación". Observatorio Corporativo Europeo. 15 de mayo de 2019.
  10. ^ abcdef DeRose, Steven J. ; Durand, David G. (1994). Cómo hacer que funcionen los hipermedios: guía del usuario de HyTime . Norwell, Massachusetts / Dordrecht, Países Bajos : Kluwer Academic Publishers. ISBN 0-7923-9432-1.
  11. ^ ab Walsh, Norman; Cowan, John; Grosso, Paul (agosto de 2001). Un espacio de nombres URN para identificadores públicos. Grupo de trabajo de redes. doi : 10.17487/RFC3151 . RFC 3151. Informativo.
  12. ^ abc Walsh, Norman (1998). "Un DTD para programación DSSSL con DocBook". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  13. ^ ab "TC propuesto para adaptaciones WebSGML para SGML". 1 de junio de 1997. ISO/IEC JTC 1 /SC18/WG8 N1929.
  14. ^ abc "20: Declaración SGML de HTML 4". Especificación HTML 4.01 . W3C .
  15. ^ "dbl1nds.dsl". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  16. ^ "dbl1srLatn.dsl". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  17. ^ "common/catalog". Hojas de estilo DSSSL para DocBook, versión 1.79 . Proyecto DocBook .
  18. ^ "Conjunto de entidades ISOlat1". Organización Internacional de Normalización . 1986.
  19. ^ "ISO Added Latin 1 Entities V0.3". Organización para el Avance de los Estándares de Información Estructurada (OASIS). 2002.
  20. ^ abc "conjunto de entidades htmlmathml-f". W3C . 2011.
  21. ^ Udell, Jon (30 de septiembre de 2011). "La larga cola del ecosistema iCalendar".
  22. ^ "Problema n.º 26558: No puedo suscribirme al calendario de cumpleaños desde Facebook". Núcleo del servidor web ownCloud .
  23. ^ ab Beck, Jeff; Lapeyre, Deborah; Rosenblum, Bruce (2007). "Declaraciones de notación de la suite DTD para archivar e intercambiar". Biblioteca de etiquetas DTD de libros del NCBI y biblioteca de etiquetas DTD de colecciones del NCBI versión 2.3 . Centro Nacional de Información Biotecnológica / Biblioteca Nacional de Medicina .
  24. ^ "dbl1en.dsl". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  25. ^ "dbl1fr.dsl". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  26. ^ "dbl1el.dsl". Hojas de estilo DSSSL para DocBook . Proyecto DocBook .
  27. ^ "dbl1fr.ent". Hojas de estilo DSSSL para DocBook, versión 1.79 . Proyecto DocBook .
  28. ^ "dbl1en.ent". Hojas de estilo DSSSL para DocBook, versión 1.79 . Proyecto DocBook .
  29. ^ Definición: FPI (Identificador público formal) [Glosario web y XML]
  30. ^ ab "!DOCTYPE" . Consultado el 10 de septiembre de 2016 .
  31. ^ abc "Problema A: un formato de catálogo de entidades simple". Gestión de entidades . Organización para el Avance de los Estándares de Información Estructurada (OASIS). 1997-09-10. Resolución técnica OASIS 9401:1997.
  32. ^ "2.3 Construcciones sintácticas comunes (§ Literales)". Lenguaje de marcado extensible (XML) 1.0 (quinta edición). W3C . 2008-11-26.
  33. ^ abc Clark, James (15 de diciembre de 1997). "Comparación de SGML y XML". W3C . NOTA-sgml-xml-971215.
  34. ^ abcd "4.2.2 Entidades externas". Lenguaje de marcado extensible (XML) 1.0 (quinta edición). W3C . 26 de noviembre de 2008.
  35. ^ abcde Walsh, Norman (6 de agosto de 2001). "Catálogos XML". Organización para el Avance de los Estándares de Información Estructurada (OASIS).
  36. ^ "4.7 Declaraciones de notación". Lenguaje de marcado extensible (XML) 1.0 (quinta edición). W3C . 26 de noviembre de 2008.
  37. ^ abcd Olsson, Tommy; O'Brien, Paul (2008). La referencia definitiva de CSS . Collingwood, Victoria : SitePoint . ISBN 978-0-9802858-5-7.
  38. ^ "xml/declaration/xml.dcl: Declaración SGML para XML 1.0". sgml-data . Debian . 19 de mayo de 2013.
  39. ^ Bray, Tim; Hollander, Dave; Layman, Andrew; Tobin, Richard; Thompson, Henry S. (8 de diciembre de 2009). "Espacios de nombres en XML 1.0" (tercera edición). W3C .
  40. ^ ab Payne, James (2010). Introducción a Python: uso de Python 2.6 y Python 3.1 . Wrox / Wiley . págs. 268–271. ISBN. 978-0-470-41463-7.
  41. ^ Sall, Kenneth B. (2002). "XML y espacios de nombres (§ Manejo de espacios de nombres en un DTD o esquema XML)". Familia de especificaciones XML: una guía práctica . InformIT / Addison-Wesley . ISBN 0-201-70359-9.
  42. ^ ab "1.3 Definición de un documento SVG Tiny 1.2". Especificación de gráficos vectoriales escalables (SVG) Tiny 1.2 . W3C . 2008-12-22. Se deben tener en cuenta algunas diferencias clave con SVG Tiny 1.1: […] No hay DTD para SVG 1.2 y, por lo tanto, no es necesario especificar el DOCTYPE para un documento SVG 1.2 (a menos que se desee utilizar el subconjunto DTD interno ([XML10], sección 2.8 y [XML11], sección 2.8), para fines de definiciones de entidades, por ejemplo).
  43. ^ Hammersley, Ben (2003). "Capítulo 4. RSS 0.91 y 0.92 (Really Simple Syndication)". Sindicación de contenido con RSS . O'Reilly Media . ISBN 9780596003838.
  44. ^ Kosek, Jirka; Walsh, Norman; Hamilton, Dick; Smith, Michael (16 de junio de 2009). "Relajarse con DocBook". DocBook V5.0: La guía de transición . Proyecto DocBook .
  45. ^ Clark, James . "SP - Catálogos". SP: Un sistema SGML conforme a la norma internacional ISO 8879 .
  46. ^ Grosso, Paul (1996). "Registro de tipo de medio MIME Application/SGML-Open-Catalog". IANA .
  47. ^ "Gestión de entidades". Organización para el Avance de los Estándares de Información Estructurada (OASIS). 10 de septiembre de 1997. Resolución técnica OASIS 9401:1997.
  48. ^ "xml/svg/catalog: DTD SVG". sgml-data . Debian . 19 de mayo de 2013.
  49. ^ ab "xml/svg/catalog.xml". sgml-data . Debian . 19 de mayo de 2013.
  50. ^ GlobalTransCorp (28 de febrero de 2004). "tr9401.dtd: Extensión basada en catálogos XML V1.0 V1.0". Debian .
  51. ^ "Especificación HTML 4.01" . Consultado el 10 de septiembre de 2016 .
  52. ^ ab "13.2.6.4.1 El modo de inserción "inicial"". Estándar HTML . WHATWG .
  53. ^ Sivonen, Henri (8 de abril de 2005). "[whatwg] [html5] etiquetas, elementos y DOM generado". Archivo de listas de correo WHATWG .
  54. ^ "13.1.1 El DOCTYPE". Estándar HTML . WHATWG .
  55. ^ "14.1 Escritura de documentos en sintaxis XML". Estándar HTML . WHATWG .
  56. ^ "14.2 Análisis de documentos XML". Estándar HTML . WHATWG .