Документ взят из кэша поисковой машины. Адрес оригинального документа : http://www.fds-net.ru/showflat.php?Number=666861&src=arc&showlite=
Дата изменения: Unknown
Дата индексирования: Mon Apr 11 22:53:43 2016
Кодировка: Windows-1251
Вычисления в XML документах - Public forum of MSU united student networks
Root | Google | Yandex | Mail.ru | Kommersant | Afisha | LAN Support
  
Technical >> Hard&Soft (Archive)

Страницы: 0 | 20 | показать все
Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: Serge]
      13.11.2003 01:14
 

PivotTable - это уже нечистые эелектронные таблицы (точнее вообще не электронные таблицы). Это скорее клиентский компонет для OLAP. Причем достаточно ограничен по возможностям. По-моему, предложенный способ более мощный из-за возможностей XPath. Хотя конечно же, этот способ не противопоставляется клиентам OLAP, он скорее позицианируется для сбора отчетности.

Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: DarkGray]
      13.11.2003 22:06
 

Что касается 'констант' ../, я над этим сам думал. Если их попытаться устранить, т.е. текущий контекст отсчитывать от родителя, то, например, теряется информация о том, в каком именно атрибуте находится вычисляемое выражение. Например, если требуется поместить итоговую сумму в атрибут родительского элемента, и имя этого атрибута такое же как у дочерних элементов
<item a1="{sum(../*/@*[name()=name(current())])}">
<item a1="7" a2="9"/>
</item>
Можно сделать соответствующую опцию в обработчике. Можно так же разделить текущий контекст для текстовых узлов и для значений атрибутов.

Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: Sail]
      28.11.2003 22:46
 

up.

DarkGray
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31404
Рейтинг: 8950
  Re: Вычисления в XML документах [re: Sail]
      28.11.2003 23:00
 

Также очень удобно применять xsl не к xml-у, а к реальной программе. Т.е. программа реализует IXPathNavigator на основе своих данных (объекты, свойства), далее применяем к IXPathNavigator-у xsl-преобразование, на выходе получаем обработанные данные, которые опять можно превратить в реальные объекты.

Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: DarkGray]
      29.11.2003 00:08
 

На сколько я понял, класс XPathNavigator читает данные из XML-хранилища (store). Почему ты пишешь
В ответ на:


не к xml-у




?
Ты имел ввиду XSLT, используемые в моем подходе?

P.S. Выражайся точнее, интерфейсы реализуют классы, а не программы, т.е. не очень понятно слово 'объекты' в скобочках.

DarkGray
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31404
Рейтинг: 8950
  Re: Вычисления в XML документах [re: Sail]
      29.11.2003 00:54
 

> класс XPathNavigator читает данные из XML-хранилища (store).

Так вот можно как раз сделать, чтобы XPathNavigator бегал не по xml-хранилищу, а по реальным объектам.

Допустим у нас такие классы в программе:
code:

class Data
{
public Customer[] Customer {get;}
}
class Customer
{
public Order[] Orders {get;}
public string Name {get;}
}
class Order
{
public double Price {get;}
public DateTime Time {get;}
}


тогда мы можешь реализовать IXPathNavigator, который будет бегать по этим объектам, и эмулировать следующий xml-представление:
code:

<Data>
<Customer name="qq">
<Order Time="20.11.03" Price="100" ></Order>
<Order Time="23.11.03" Price="150" ></Order>
<Customer>
<Customer name="qq2">
<Order Time="20.11.03" Price="100" ></Order>
<Order Time="23.11.03" Price="150" ></Order>
<Customer>
</Data>



Далее к этому IXPathNavigator-у легко можно применить твое xslt-преобразование.


> Выражайся точнее

Дык, более разжеванная идея - требует больше времени.




Редактировал DarkGray (29.11.2003 01:14)
Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: DarkGray]
      29.11.2003 01:12
 

свойство
>public string Name {get;}
в классе Customer, да?


DarkGray
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31404
Рейтинг: 8950
  Re: Вычисления в XML документах [re: Sail]
      29.11.2003 01:14
 

да. извини, ошибся. Исправил.

Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: DarkGray]
      29.11.2003 01:19
 

это реально используется?

DarkGray
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31404
Рейтинг: 8950
  Re: Вычисления в XML документах [re: Sail]
      29.11.2003 01:22
 

У нас пока нет.

ps
Но кто-то как раз на днях говорил, что у них в проге (что-то из разряда склад-учет) реализован в том числе доступ через IXPathNavigator.

Sail
stranger

Рег.: 11.11.2003
Сообщений: 19
Рейтинг: 0
  Re: Вычисления в XML документах [re: DarkGray]
      29.11.2003 01:28
 

Вообще, интересно надо над этим подумать.
А пока не подумал , вот такой вопрос: в чем приемущество XSLT здесь? зачем его здесь использовать?

DarkGray
Carpal Tunnel

Рег.: 30.09.2002
Сообщений: 31404
Рейтинг: 8950
  Re: Вычисления в XML документах [re: Sail]
      29.11.2003 01:37
 

В первую очередь - упрощается разработка отчетов, упрощается просмотр внутреннего состояния программы и т.д.

ps.
Если сделать свой не только IXPathNavigator, но и IXmlWriter - то можно использовать xsl и для преобразования объектов. Особенно может это пригодится в задачах со сложной структурой данных, и при этом где нет особых затыков по производительности.

Страницы: 0 | 20 | показать все

Technical >> Hard&Soft (Archive)

Дополнительная информация
0 зарегистрированных и 0 анонимных пользователей просматривают этот форум.

Модераторы:  exc, muse, Riamella, KAA 

Печать темы

Права
      Вы можете создавать новые темы
      Вы можете отвечать на сообщения
      HTML отключен
      UBBCode включен

Рейтинг:
Просмотров темы:

Переход в