Кіріспе
SGML, HTML және XML құжаттарындағы таңбалық деректер және атрибут мәндері деп аталатын логикалық құрылымдар, таңбалар тізбегінен тұрады, онда әрбір таңба тікелей көрсетілуі мүмкін (өзін-өзі бейнелейді), немесе таңбалық сілтеме деп аталатын таңбалар тізбегі арқылы бейнеленуі мүмкін. Олардың екі түрі бар: сандық таңбалық сілтеме және таңбалық объектісінің сілтемесі. Осы мақалада HTML және XML құжаттарында жарамды таңбалық объектісінің сілтемелері тізімделген. Таңбалық объектісінің сілтемесі аталатын объектінің мазмұнына сілтеме жасайды. XML, SGML және HTML құжаттарында (HTML5-тен бұрын) Документ түрінің анықтамасында (DTD) <!ENTITY name "value"> синтаксисін қолдану арқылы объектінің жариялануы жасалады.
In SGML, HTML and XML documents, the logical constructs known as character data and attribute values consist of sequences of characters, in which each character can manifest directly (representing itself), or can be represented by a series of characters called a character reference, of which there are two types: a numeric character reference and a character entity reference. This article lists the character entity references that are valid in HTML and XML documents. A character entity reference refers to the content of a named entity. An entity declaration is created in XML, SGML and HTML documents (before HTML5) by using the <!ENTITY name "value"> syntax in a Document type definition (DTD).
XHTML-те арнайы таңбаларды білдіретін нысандар
XHTML DTD-да 253 нысан (оның ішінде XML 1.0-дың 5 алдын ала анықталған нысандары) нақты жарияланады, олардың кеңейтімі бір таңба болып табылады, сондықтан оларды бейресми түрде "таңбалық нысандар" деп атауға болады. Бұл (' нысанынан басқа) атаулары бірдей және HTML 4.0-дегі 252 таңбалық нысандармен бірдей таңбаларды білдіреді. Сонымен қатар, XML болатындықтан XHTML құжаттары HTML 4.0-дегі 252 таңбалық нысандардың бірі емес, алдын ала анықталған ' нысанына сілтеме жасай алады. Кез келген көлемдегі қосымша нысандар құжат бойынша анықталуы мүмкін. Дегенмен, XHTML-дегі нысан сілтемелерінің қолданылу мүмкіндігі құжаттың қалай өңделуіне әсер етеді: HTML 2.0-ден мұрагерлік алған (және әлі де HTML 5.0-де қолдау табатын) қысқартылған таңбалық нысандар XML 1.0 және XHTML-де қолдау таппайды; XML және XHTML құжаттарында қолданылатын барлық нысан сілтемелерінде соңғы нүкте болуы керек. Егер XHTML құжатын сәйкесті HTML 4.0 процессоры оқыса, онда тек 252 HTML 4.0 таңбалық нысандары ғана қауіпсіз түрде пайдаланылуы мүмкін. ' немесе жекешелендірілген нысандарды пайдалану қолдай алмай, алдын ала болжанбайтын нәтижелерге әкелуі мүмкін (оның орнына сандық таңбаларды ' пайдалану ұсынылады). Егер құжатты сыртқы нысандарды оқымайтын немесе оқи алмайтын XML талдаушысы оқыса, онда тек XML-ге салынған бес таңбалық нысандарды қауіпсіз түрде пайдалануға болады, бірақ егер олар ішкі DTD-ның кіші жиынтығында мәлімделген болса, басқа нысандар пайдаланылуы мүмкін. Алайда, қазіргі заманғы XML талдаушылары HTML, XHTML, SVG және MathML-дің барлық стандартты нұсқалары қолданатын DTD-ге SGML сілтемелері үшін ішкі кэшті таниды және іске асырады, сыртқы DTD-ді олардың URL-і арқылы талдау мен өңдеудің қажеті жоқ және құжаттың ішкі DTD-ның кіші жиынтығында анықталған нысандарды өңдеудің қажеті жоқ. Егер құжатты сыртқы нысандарды оқитын және белгілі DTD-ге арналған кэшке енгізілмеген XML талдаушысы оқыса, онда XML-ге салынған бес таңбалық нысанды (және сандық таңбалы сілтемелерді) қауіпсіз түрде пайдалануға болады. Қалған 248 HTML таңбалық нысандар, егер XHTML DTD құжатты оқыған кезде талдаушыға қол жетімді болса, қолданылуы мүмкін. Басқа нысандар, егер олар ішкі DTD қосалқы жиынтығында мәлімделген болса және XML процессоры ішкі DTD қосалқы жиынтықтарын талдап шығара алса, пайдаланылуы мүмкін. HTML 5.0 талдаушылары XHTML құжаттарын өңдеуге болмайды, және XHTML синтаксисімен кодталған HTML5 құжаттары үшін толық растайтын DTD-ді анықтау мүмкін емес (әсіресе, барлық атрибуттар атауларын, атап айтқанда "data *" атрибуттарын растау мүмкін емес); сонымен қатар, толық растау мүмкін емес (W3C стандартты XML схемаларымен, мысалы, XSD немесе Relax NG) HTML5 құжаттары XHTML синтаксисінде ұсынылған, және қазір HTML 5.0-ге арналған арнайы растаушы қажет. Жоғарыда аталған ерекше ' жағдайға байланысты, тек ", &, < және > барлық XHTML өңдеу жағдайларында жұмыс істейді.
Legacy abbreviated character entities (without the final colon) inherited from HTML 2.0 (and still supported in HTML 5.0) are not supported in XML 1.0 and XHTML; the trailing semicolon must be present in all entity references used in XML and XHTML documents. If the XHTML document is read by a conforming HTML 4.0 processor, then only the 252 HTML 4.0 character entities may safely be used. The use of ' or custom entity references may not be supported and may produce unpredictable results (it is recommended to use the numerical character reference ' instead). If the document is read by an XML parser that does not or cannot read external entities, then only the five built in XML character entities can safely be used, although other entities may be used if they are declared in the internal DTD subset. However, modern XML parsers recognize and implement a builtin cache for SGML references to DTDs used by all standard versions of HTML, XHTML, SVG and MathML, without needing to parse and process the external DTD via their URL and without needing to process entities defined in an internal DTD subset of the document. If the document is read by an XML parser that does read external entities and does not implement a builtin cache for well known DTDs, then the five built in XML character entities (and numeric character references) can safely be used. The other 248 HTML character entities can be used as long as the XHTML DTD is accessible to the parser at the time the document is read. Other entities may also be used if they are declared in the internal DTD subset and the XML processor can parse internal DTD subsets. HTML 5.0 parsers cannot process XHTML documents, and it's impossible to define a fully validating DTD for HTML5 documents encoded with the XHTML syntax (notably it's impossible to validate all attributes names, notably "data *" attributes); as well it's still impossible to fully validate (with W3C standard schemas for XML, such as XSD or relax NG) HTML5 documents represented in the XHTML syntax, and for now a custom validator specific to HTML 5.0 is required. Because of the special ' case mentioned above, only ", &, <, and > will work in all XHTML processing situations.