powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Изменение названия исходящего файла
5 сообщений из 5, страница 1 из 1
Изменение названия исходящего файла
    #36925357
Xsl
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Xsl
Гость
Коллеги,

Есть некий xsl, в котором описаны условия преобразования документа.
В зависимости от результата в xsl, имя исходящего файла должно меняться.
Как это можно сделать?

Использую saxon.
Запускаю в командной строке.
...
Рейтинг: 0 / 0
Изменение названия исходящего файла
    #36926741
mage.lan
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Xsl,

Думаю никак. Хсл не работает с файловой системой. Для этого пишется приблуда, которая запустит твой хслт с нужными файликами, получит результат в темп-файл, посмотрит в него, поймет как закончилась трансформация и в зависимости от этого даст нужное имя. Для такой задачи вполне может хватить баша.
...
Рейтинг: 0 / 0
Изменение названия исходящего файла
    #36926992
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Лучше, конечно, использовать то, что сказал mage.lan, особенно на практике

Но, если формально подойти к условию задачи, то...

Следующий пример обрабатывает (копирует в выходной файл), либо файл "q1.xml", либо файл "q2.xml" в зависимости от условия во входном файле.

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
    <xsl:output method="xml" encoding="1.0"/>
    <xsl:template match="/">
        <xsl:choose>
            <xsl:when test="/*/text()=0">
                <xsl:apply-templates select="document('q1.xml')" mode="q1"/>
            </xsl:when>
            <xsl:otherwise>
                <xsl:apply-templates select="document('q2.xml')" mode="q2"/>
            </xsl:otherwise>
        </xsl:choose>
    </xsl:template>
    <xsl:template match="/" mode="q1">
        <xsl:copy-of select="."/>
    </xsl:template>
    <xsl:template match="/" mode="q2">
        <xsl:copy-of select="."/>
    </xsl:template>
</xsl:stylesheet>
...
Рейтинг: 0 / 0
Изменение названия исходящего файла
    #36928542
Andry Trushin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
refreg,

не взлетит, document() - читает файл, а не пишет его, увы.
...
Рейтинг: 0 / 0
Изменение названия исходящего файла
    #36929008
refreg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Andry Trushinне взлетит, document() - читает файл, а не пишет его, увы. Изменение названия исходящего файла
Думаю, тут путаница в терминологии. Для меня есть исходный файл и есть результирующий (файл результата).
Для автора, возможно входящий и исходящий... В этом случае, я не правильно понял проблему
...
Рейтинг: 0 / 0
5 сообщений из 5, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Изменение названия исходящего файла
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]