Artem Chuprina wrote:
>
> > > <OBJECT>, <SCRIPT>. С лёгкостью.
> > И что? Это в HTML браузер как бы обязан <SCRIPT> выполнять, да и то,
> > если захочет. А в XML никто никому и ничего не обязан.
>
> Вот именно: если захочет.
'Если' относилось к HTML-браузеру.
> IE в последнее время так хочет, что и не
> оторвёшь ему это хотение. И Шкаф тоже по умолчанию выполняет.
Блин. Ну не путай ты это с XML-ем - ничего общего это не имеет. Какое
мне дело до IE, если до него дойдет уже распарсенный и преобразованный
голый HTML? Он про XML даже не узнает ничего. Нафиг кому его кривая
устаревшая реализация XML сдалась?
> И с XML то же будет, нес па?
Да ничего не будет. Пальцем покажи, где и в каком стандарте на XML
написано <OBJECT>? Нету такого. На XML нету никакого стандартного DTD,
как это есть для HTML. Поэтому и нечего там выполнять - нету объектов и
нету скриптов. Вот у меня прайсы будут примерно в таком виде (это
присылает юзер, грубо говоря):
<?xml version="1.0"?>
<prices>
<price currency="FF">100</price>
<price currency="USD">34</price>
<price currency="FF">300</price>
<price currency="FF">400</price>
</prices>
а стиль к ним - вот в таком (и это пишу я):
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/XSL/Transform/1.0">
<xsl:variable name="rate">5.8</xsl:variable>
<xsl:template match="/prices">
<HTML>
<H1>Price-list</H1>
<xsl:apply-templates/>
</HTML>
</xsl:template>
<xsl:template match="price[not(@currency='USD')]">
<P><xsl:value-of select="number(./text())*number($rate)"/></P>
</xsl:template>
<xsl:template match="price[@currency='USD']">
<P><xsl:value-of select="./text()"/></P>
</xsl:template>
</xsl:stylesheet>
Ну и? Чего бы юзера в первый документ не насовали, а ктоме тэгов price и
атрибутов currency у них, этот стиль обрабатывать _не будет_. Он просто
не умеет. Логика в XML - не в браузере, пора про это давно забыть, она в
стилях. А стили - мои, а не MS-овские. Или твои. И если мы сами себе не
злобные Буратины - вирусов у нас не будет.
> А ты уверен, что ты вырезаешь из клиентских XML'ей _всё_ потенциально
> опасное содержимое?
А и и не вырезаю. Я интерпретирую только то, что мне нужно. Все
остальное выбрасывается автоматически. И я еще не сошел с ума, чтобьы в
своем стиле написать что-то типа eval, что выполнило бы скрипт. Так кто
его выполнит-то? Некому вроде.
> Что то, что ты оставляешь, существующие браузеры не
> могут попытаться исполнить сейчас, и не начнут этого делать, никому ни
> слова не говоря, через 2 месяца?
Для начала на это дело у меня есть DTD. Натравливаем верификатор, и все
что не соответствует - идет лесом еще до обработки.
=============================================================================
= Apache-Talk@lists.lexa.ru mailing list =
Mail "unsubscribe apache-talk" to majordomo@lists.lexa.ru if you want to quit.
= Archive avaliable at http://www.lexa.ru/apache-talk =