Какие технологические проблемы возникают при создании языка разметки для электронной почты? - PullRequest
1 голос
/ 27 августа 2009

Мне интересно, какие технологические проблемы возникают из-за привязки языка разметки к электронной почте? Без изучения языка предположим, что существует гипотетический язык разметки со следующими условиями:

  • Он отвечает всем возможным потребностям агента пользователя для правильного структурирования и определения содержимого в электронной почте.
  • Правильно санкционирует обмен сообщениями в одном документе, позволяя нескольким авторам вносить вклад в представление цепочки сообщений электронной почты.
  • Он правильно связывает аналогичные данные заголовка RFC 5322 с каждым экземпляром сообщения в документе с использованием соглашений о разметке.
  • Он решает все возможные проблемы, связанные с доступностью, семантикой и другими проблемами, касающимися только самой технологии разметки.
  • Он решает все возможные условия безопасности в отношении обработки на уровне приложений и абсолютно не решает проблем, связанных с передачей.
  • Язык может или не может быть написан в некоторой производной от XML, и сразу же доступны технологии, производные от XML.
  • Языковые экземпляры требуют проверки от агента пользователя, прежде чем их разрешат передавать в виде электронной почты.

С учетом сказанного, какие технологические проблемы связаны с таким проектом? Это создаст проблемы программирования для пользовательских агентов? Будет ли такой проект несовместимым с электронной почтой RFC 5322, в которой содержание должно быть только 7-битным ASCII? Может ли такая технология оказаться вредной для почтовых серверов? Есть ли дополнительные проблемы безопасности, связанные с таким проектом? Каковы ваши другие общие технические мысли о таком проекте? Пожалуйста, сохраняйте ответы и ответы как можно более сфокусированными на технологиях и программах. Я буду голосовать за любые комментарии, связанные с деловым мнением или усыновлением.

1 Ответ

0 голосов
/ 27 августа 2009

Говоря, как семантика победила, одна из самых проблемных проблем - адекватные ограничения по значению данных. Предположим, у вас есть бесконечный бай-ин и сотрудничество, как и подразумевает ваше последнее предложение. :-) Я утверждаю, что один только XML все же не обеспечивает адекватной реализации семантики, которую вы в конечном итоге пожелаете. К сожалению, я не могу привести примеры, чтобы нести быстро, но говоря от руки:

"содержимое тега GOK должно быть целым числом, не превышающим общее количество тегов BREEP, содержащихся в предыдущем теге FLOIT"

- это правило, которое я не вижу, чтобы вы вводили в действие проверку XML в ближайшее время. (Я могу ошибаться; для меня сейчас ранний день.)

Это не смертельно, но сложно, и не только это, обманчиво сложно. Короче говоря, семантика, которую вы в конечном итоге должны применять в любом начинании, быстро потребует эквивалента логики первого порядка (если не второго порядка), который требует надежного языка описания. Такие языки существуют (сразу приходит на ум Common Logic, как и OWL Full) ... но тогда вам нужен надуманный механизм рассуждений для обеспечения соблюдения правил.

Я говорю, что это обманчиво трудно по причинам, которые, к сожалению, приближаются к вашим многословным деловым мнениям, но все же стоит упомянуть хотя бы ради человеческих факторов. То есть, по моему опыту, пользователи настолько привыкли к ограничениям, которые накладывает реляционный алгебраический подход к моделированию данных, что они склонны естественным образом придерживаться очень грубых правил типа «это поле должно быть целым числом, что нужно строка »и подсознательно предположить, что настоящая семантика будет навязываться человеческими глазными яблоками. Другими словами, будет трудно увидеть необходимость чего-то большего, чем просто простое синтаксическое принуждение ... но это только мой опыт; ваш может быть совсем другим.

...