Модераторы: diadiavova

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> count(document(...)/test), проблема 
V
    Опции темы
StepS
Дата 9.3.2006, 12:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



проблема в следующем:
есть вызов в xslt:
Код

<count>
    <xsl:value-of select="count(document('Styles.xml')/*)"/>
</count>


так вот..... в результате получаем <count>0</count>
styles.xml такого вида:
Код

<test>
    <Style ID = "ID_Department_1">
        <condition>
            <element>ID_Department</element>
            <cond>. = 1</cond>
        </condition>
    </Style>
    <Style ID = "ID_Department_2">
        <condition>
            <element>ID_Department</element>
            <cond>. = 2</cond>
        </condition>
    </Style>
</test>


этот xml-ник лежит там же где и xslt, не могу понять почему не отрабатывает !"!
Help please smile
PM MAIL ICQ   Вверх
Beard
Дата 9.3.2006, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



А каким процессором пользуешься?

PM MAIL   Вверх
StepS
Дата 9.3.2006, 14:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



msxml, делаю преобразование спомощью .NET на C#. FrameWork 1.1
PM MAIL ICQ   Вверх
Beard
Дата 9.3.2006, 14:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



А через командную строку с msxml работает?
(У меня с 4.0, например, все прекрасно работает)
PM MAIL   Вверх
StepS
Дата 9.3.2006, 15:06 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



интересный прикол обнаружил: если делать трансформацию спом какой-нить проги, типа XmlSpy - работает, если делать трансформацию спомощью C# кода XslTransform.Transform() - то не работает.
Кто знает в чем бок !!!?
Метод трансформации следующий:
Код

    public static void XsltTransform(string cXmlFile, string cXslFile, string cOutFile, XsltArgumentList xsltArguments) {
            try{
                XslTransform oXslTransform = new XslTransform();
                oXslTransform.Load(cXslFile, null);
                StreamWriter oWriter = new StreamWriter(cOutFile);
                XmlDataDocument oXmlDocument = new XmlDataDocument();
                oXmlDocument.Load(cXmlFile);
                oXslTransform.Transform(oXmlDocument, xsltArguments, oWriter, null);
            }catch(XsltException e) {
                MessageBox.Show(e.StackTrace);
            }
         }

smile
PM MAIL ICQ   Вверх
Beard
Дата 9.3.2006, 15:15 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



Видать зависит от того, в какой директории работает прога - по другому резолвятся URI до файла.
На Java из-за этого у некоторых и появляются проблемы при использовании функции document или при импорте/инклюде
PM MAIL   Вверх
Beard
Дата 9.3.2006, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



Попробуй использовать класс XmlResolver
и делай Load, используя его
PM MAIL   Вверх
StepS
Дата 10.3.2006, 13:41 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



у меня тоже появились проблемы при Include, это что глюк framework-а или "ошибка в моем ДНК" ? smile
встречает инструкцию include и выкидывает exception.
Кто как выходил из ситуации ?? Хелп плизз smile
PM MAIL ICQ   Вверх
Beard
Дата 10.3.2006, 13:48 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



А что по поводу XmlResolver?
Попробовал?
У меня просто нет на этом PC VS, а то я бы сделал это сам
PM MAIL   Вверх
StepS
Дата 10.3.2006, 15:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



вроде с include-ми получилось, теперь гемор пошел в другом:
когда я сделал трансформашку я результат выкинул в Stream, потом пытаюсь сделать XmlDocument.Load(oStream) говорит что нет корневого елемента, хотя когда делаю сохранение в файл этого стрима то файл вполне валидный.

З.Ы. Спасибо за XmlResolver
PM MAIL ICQ   Вверх
Beard
Дата 10.3.2006, 15:11 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



Уверен, что валидный?
Можно на начало посмотреть?
PM MAIL   Вверх
StepS
Дата 10.3.2006, 15:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



Код

<?xml version="1.0" encoding="utf-8"?>
<root xmlns:step="urn:step">
    <Form>
        <ID_Department>1</ID_Department>
        <Department>Хирургия</Department>
        <OnChangeBegin>0</OnChangeBegin>
        <OpenBed>10</OpenBed>
        <RepareBed>0</RepareBed>
    </Form>
....
</root>

PM MAIL ICQ   Вверх
Beard
Дата 10.3.2006, 15:42 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



Да, выглядит прилично!

А если сохранить в файл (раз он там получается валидным), а потом сделать

XmlDocument::Load(string filename)

Будет ли такая же ошибка?
Добавлено @ 15:44
И если будет, то можно ее полный текст увидеть?
PM MAIL   Вверх
StepS
Дата 10.3.2006, 16:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 26.8.2005
Где: Днепропетровск

Репутация: нет
Всего: нет



ошибки такой не будет, уже пробовал. Втом то весь и прикол smile smile
через файл работает ! но я хочу без файла обойтись

Это сообщение отредактировал(а) StepS - 10.3.2006, 16:40
PM MAIL ICQ   Вверх
Beard
Дата 10.3.2006, 16:43 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 228
Регистрация: 5.7.2005
Где: Санкт-Петербург

Репутация: 7
Всего: 9



Тогда на текст первой ошибки не плохо было бы взглянуть
Добавлено @ 16:53
Кстати, а ты Flush стриму делаешь?
Добавлено @ 16:56
Вот, нашел - надо сделать stream.Position=0
PM MAIL   Вверх
Ответ в темуСоздание новой темы Создание опроса
Правила форума "XML/XSLT"
diadiavova

Прежде чем опубликовать вопрос, попробуйте воспользоваться поиском - возможно тема уже поднималась.

Также рекомендуем Вам зайти в раздел FAQ ,раздел дополняется и, возможно, там вы увидите готовое решение.

Для ответов на часто задаваемые вопросы существует FAQ раздела. Новости можно публиковать в разделе новостей. Для статей так же есть специальный раздел

Желаем удачи в Вашем деле!


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, diadiavova.

 
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | XML, XSL | Следующая тема »


 




[ Время генерации скрипта: 0.0968 ]   [ Использовано запросов: 20 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.