Кросс-браузерные острова данных XML, которые могут содержать теги сценария - PullRequest
9 голосов
/ 15 ноября 2011

Меня интересует встраивание SCXML, приложения XML для описания диаграмм состояний, в HTML.В Internet Explorer есть так называемые «острова данных XML», которые обеспечивают элегантное решение этой проблемы.В качестве альтернативы IE9 и большинство современных браузеров, отличных от IE, допускают, чтобы контент служил в виде XHTML, что позволяет смешивать разные типы документов для создания составных документов с использованием пространств имен XML.Кроме того, есть этот совет , который я нашел в вики Mozilla, который, кажется, предлагает HTML5-подход (здесь я использую этот термин очень свободно) для островов данных XML.

Подход MozillaКазалось бы, обеспечить лучший общий метод для встраивания содержимого XML в HTML-страницу.Проблема в том, что он не работает, если встроенный XML-контент содержит тег «», который является частью грамматики SCXML.

Существует ли элегантный кросс-браузерный метод для вставки произвольного содержимого XML в HTML-страницу, включая ту, которая содержит теги сценария?

Ответы [ 3 ]

1 голос
/ 29 мая 2015

Обработка и остальная часть SCXML - спросите ID / IDREF, чтобы мы знали, что часть SCXML относится к, и поместите его в удаленный блок.

1 голос
/ 29 мая 2015

некоторые существенные преимущества для XML по сравнению с островами данных XML и MSXML.

1) XML для использования стандартов ECMA и W3C, острова данных XML - нет.

2) XML для не представляет угрозы безопасности, острова данных XML могут.

Технология XML для России работает в изолированной программной среде безопасности браузера и не имеет ни одной из этих проблем.

3) XML для не требует установки нового программного обеспечения на клиентском компьютере, часто это делают XML Data Islands и MSXML.

XML for не влияет на другие части системы пользователя и не требует установки. Поскольку XML for не распространяется в двоичной форме (в отличие от MSXML), исправления для вашего приложения необходимо распространять только в одном месте (на сервере), а не на каждом клиенте.

4) XML for является открытым исходным кодом, а Свободное программное обеспечение, XML Data Islands и MSXML - нет.

Когда вы загружаете XML для вас, вы получаете полный доступ к исходному коду, чтобы увидеть, как все реализовано. Вы также можете свободно модифицировать, исправлять и изменять программное обеспечение по своему усмотрению, как описано в лицензии LGPL. Острова данных XML не дают вам этой свободы.

0 голосов
/ 08 мая 2012

Встраивание в элемент скрипта по-прежнему остается самым популярным выбором, я думаю.
Если вы ожидаете элемент внутри вашего XML, вы можете:
а) вместо этого используйте элемент объекта в качестве оболочки б) использовать пространства имен в вашем XML, чтобы он был scxml: скрипт
в) использовать совсем другой подход, такой как, например, передача предварительно отрендеренных диаграмм как изображений.
Еще один подход заключается в использовании SVG, который изначально поддерживается браузерами, поэтому манипулирование должно быть немного проще, в зависимости от конкретных требований.
г) убрать встроенный элемент скрипта перед включением его в страницу? SCXML допускает ECMAScript, но мне интересно, хотите ли вы выполнить их как часть анализа?
e) обрабатывать и остальные SCXML отдельно - применять ID / IDREF, чтобы вы знали, к какой части SCXML применяется, и поместить его в отдельный блок.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...