Как проверить xml:lang ATTLIST внутри XML с помощью DTD?

Многие статьи в интернете (вроде этой) предлагают использовать xml:lang или некоторый пользовательский атрибут для кодирования метаинформации о языке внутри тегов XML. Они упоминают, что эти коды должны соответствовать стандарту BCP47.

Давайте посмотрим, что произойдет, если я закодирую атрибут языка, как предлагают статьи:

  1. Внутри DTD: <!ATTLIST text xml:lang NMTOKEN #IMPLIED>
  2. Внутри XML: <text xml:lang="YODU991Yklew-e-ijsw02ijwk">...</text>

Каков ожидаемый результат?

Валидатор DTD проверит, YODU991Yklew-e-ijsw02ijwk Код - это реальный код языка BCP47, если страна и сценарий существуют, и пометьте его красным, если эти коды неверны. Точно так же, как http://schneegans.de/ помогает проверить эти коды ( НЕПРАВИЛЬНЫЙ код против ПРАВИЛЬНОГО кода).

Что происходит вместо этого?

Валидатор воспринимает этот атрибут только как некоторый текст и не проверяет, является ли он реальным языковым кодом или какой-то тарабарщиной.

0 ответов

Другие вопросы по тегам