Я работаю над крупномасштабным, большим объемом, публичным веб-приложением. Успешная работа приложения очень важна для бизнеса, и поэтому существует множество инструментов MI, которые работают против него.
Один из этих инструментов MI по существу смотрит на html, который отправляется в браузер для каждого запроса на страницу (я упростил его довольно много, но для целей этого вопроса его инструмент, который делает некоторый анализ на HTML)
Для этого инструмента MI для получения требуемых данных мы помещаем метаданные в элемент head. В настоящее время мы делаем это как html-комментарии:
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="">
<head>
<!-- details = 52:AS6[rxSdsMd4RgYXJgeabsRAVBZ:0406139009] -->
<!-- policy id = 1234567890 -->
<!-- party id = 0987654321 -->
<!-- email address = [email protected] -->
<!-- error = 49 -->
<!-- subsessionid = bffd5bc0-a03e-42e5-a531-50529dae57e3-->
...
И инструмент просто ищет заданный комментарий метаданных с регулярным выражением
Поскольку эти данные являются метаданными, я хотел бы изменить их на метатеги html, потому что он чувствует семантическую правильность. Что-то вроде этого:
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="">
<head>
<meta name="details" content="52:AS6[rxSdsMd4RgYXJgeabsRAVBZ:0406139009]" />
<meta name="policyId" content="1234567890" />
<meta name="partyId" content="0987654321" />
<meta name="emailAddress" content="[email protected]" />
<meta name="error" content="49" />
<meta name="subsessionid" content="bffd5bc0-a03e-42e5-a531-50529dae57e3" />
...
Это кажется более смысловым, и я могу заставить инструмент MI работать с ним без проблем - просто случай изменения регулярных выражений. Однако теперь это дает мне проблему с валидатором w3c. Это не проверяет, потому что мета-имена, которые я использую, не распознаются. Я получаю сообщение об ошибке "Информация о плохом значении для имени атрибута в метатеге элемента: данные ключевого слова не зарегистрированы". и он предлагает зарегистрировать эти значения имен в wiki WHATWG.
Пока я мог это сделать, это не кажется правильным. Некоторые из моих мета-тегов являются "generic" (например, error и emailAddress), поэтому я мог бы, вероятно, найти уже зарегистрированное имя и использовать его. Однако большинство из них относятся к отрасли/организации. Неправильно регистрировать общедоступное имя, называемое subsessionid или partyId, поскольку оно относится к моей организации и к приложению.
Итак, вопрос в том, что в этом случае считается лучшей практикой? Должен ли я оставить их в качестве комментариев html? Должен ли я использовать метатеги, как указано выше, и не беспокоиться о том, что проверка w3c не удалась? (хотя это становится все более важным для организации) Должен ли я попытаться зарегистрировать свои значения метазнаний в wiki WHATWG, но зная, что они не очень общие? Или есть другое решение?
Цените свои мысли, приветствия
Натан
Отредактировано, чтобы показать окончательное решение:
Полный ответ, который я собираюсь сделать, следующий. Его основанный на Rich Bradshaws отвечает, поэтому он принят, но это то, что я собираюсь сделать для полноты:
<!doctype html>
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en" class="">
<head>
<meta name="application-name" content="Our app name"
data-details="52:AS6[rxSdsMd4RgYXJgeabsRAVBZ:0406139009]"
data-policyId="1234567890"
data-partyId="0987654321"
data-emailAddress="[email protected]"
data-error="49"
data-subsessionid="bffd5bc0-a03e-42e5-a531-50529dae57e3"
/>
...
Это подтверждается, поэтому все поля отмечены галочкой:)