Russian Apache Switch to English
Switch to Russian koi8-r
windows=1251
cp-866
iso8859-5
Russian Apache Как это работает Рекоммендации Где взять Как установить Как настроить Статус и поддержка
Краткий обзор FAQ Список рассылки Благодарности Поиск по серверу Powered by Russian Apache
Russian Apache mailing list archive (apache-rus@lists.lexa.ru)

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [apache-talk] Re: [apache-talk] Upload rtf ( вариант решения)



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@xxxxxxxxxxxxx mailing list                      =
Mail "unsubscribe apache-talk" to majordomo@xxxxxxxxxxxxx if you want to quit.
=       Archive avaliable at http://www.lexa.ru/apache-talk                 =






Спонсоры сайта:

[ Russian Apache ] [ Как это работает ] [ Рекомендации ] [ Где взять ] [ Как установить ] [ Как настроить ] [ Статус и поддержка ] [ Краткий обзор ] [ FAQ ] [ Список рассылки ] [ Благодарности ] [ Поиск по серверу ] [ Powered by Russian Apache ] [ Apache-talk archive ]

"Russian Apache" includes software developed by the Apache Group for use in the Apache HTTP server project (http://www.apache.org/) See Apache LICENSE.
Copyright (C) 1995-2001 The Apache Group. All rights reserved.
Copyright (C) 1996 Dm. Kryukov; Copyright (C) 1997-2009 Alex Tutubalin. Design (C) 1998 Max Smolev.