powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скрыть <xsl:copy-of select=""/>
25 сообщений из 26, страница 1 из 2
Как скрыть <xsl:copy-of select=""/>
    #38734335
Привет миру XML )
Как сделать, чтобы
<xsl:copy-of select="name"/>
работало без визуального вывода на странице?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734341
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянка,

Как использовать оператор вывода, чтобы он ничего не выводил?

Вариант "не использовать оператор" не рассматриваем?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734851
А если вопрос по другому поставлю,
<xsl:copy-of select="*"/> - это должен быть XML?
<xsl:copy-of select="."/> - это строка значений узлов?

Верно?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734858
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерьянкаВерно?Нет
Валерьянка<xsl:copy-of select="*"/>Копирует все дочерние узлы и глубже
Валерьянка<xsl:copy-of select="."/>Копирует текущий узел и все вложенные
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734922
_Vasilisk_,

если "вложенные" = "глубже", тогда разница только в наличии текущего узла?
Должны выводятся текстовые значения узлов или копируется XML?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734930
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянкатогда разница только в наличии текущего узла?Да
ВалерьянкаДолжны выводятся текстовые значения узлов или копируется XML?Копируется дерево узлов
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734942
_Vasilisk_,

Если это дерево узлов, то почему
<xsl:copy-of select="*"/> и <xsl:copy-of select="."/>
одинаково выводит на страницу значения всех подряд узлов XML непрерывной строкой?
этот нормально?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734966
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянкаодинаково выводит на страницу значения всех подряд узлов XML непрерывной строкой?А у меня выводит дерево
XML
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
<?xml version="1.0"?>
<Root>
  <A>
    <B>bbb</B>
    <C>ccc</C>
  </A>
  <A2>
    <B2>22222</B2>
    <C2>33333</C2>
  </A2>
</Root>


XSL
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0"?>
<xsl:stylesheet
  xmlns:xsl="http://www.w3.org/1999/XSL/Transform" 
  version="1.0">
  
  <xsl:template match="/">
    <xsl:copy-of select="."/>
  </xsl:template>
</xsl:stylesheet>


Output
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="UTF-16"?><Root>
<A>
<B>bbb</B>
<C>ccc</C>
</A>
<A2>
<B2>22222</B2>
<C2>33333</C2>
</A2>
</Root>
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38734995
_Vasilisk_,

точно...
почему же тогда этот код

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
<xsl:for-each select="exsl:node-set($item_tmp)">
					<xsl:sort  select = "@new_datetime" order="descending"/>
					<xsl:apply-templates select="item" />
</xsl:for-each >

<xsl:template match="item">
	<item>
		<xsl:attribute name="new_datetime">
			<xsl:choose>
				<xsl:when test="count(modifications/item) > 0">
					<xsl:value-of select="modifications/item[last()]/datetime"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="datetime"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:attribute>
		<xsl:copy-of select="*"/>
	</item>
         <!--основной код шаблона Item-->
</xsl:template>	



выводит вверху страницы не форматированное содержимое шаблона <item> в виде непрерывного потока символов, а ниже - форматированное? Т.е. вывод дублируется.
Если убрать <xsl:copy-of select="*"/>, тогда шаблон ничего не выводит
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735004
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянка,

Значит у Вас такое содержимое источника копирования
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735026
_Vasilisk_,

там рабочее содержимое, нормально и красиво выводимое путём изначального
Код: xml
1.
2.
3.
<xsl:apply-templates select="item" />
<xsl:template match="item">
</xsl:template>


или даже так
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xsl:apply-templates select="item" />
<xsl:template match="item">
	<item>
		<xsl:attribute name="new_datetime">
			<xsl:choose>
				<xsl:when test="count(modifications/item) > 0">
					<xsl:value-of select="modifications/item[last()]/datetime"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="datetime"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:attribute>
		
	</item>
  <!--код шаблона-->
</xsl:template>


а если вставить <xsl:copy-of select="*"/>
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xsl:apply-templates select="item" />
<xsl:template match="item">
	<item>
		<xsl:attribute name="new_datetime">
			<xsl:choose>
				<xsl:when test="count(modifications/item) > 0">
					<xsl:value-of select="modifications/item[last()]/datetime"/>
				</xsl:when>
				<xsl:otherwise>
					<xsl:value-of select="datetime"/>
				</xsl:otherwise>
			</xsl:choose>
		</xsl:attribute>
		<xsl:copy-of select="*"/>
	</item>
  <!--код шаблона-->
</xsl:template>



вверху страницы появляется все кишки - значения всех узлов XML, почему?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735032
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй добавить пустой шаблон <xsl:template match="text()"/>
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735033
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянкавверху страницы появляется все кишки - значения всех узлов XML, почему?Вы думаете, что если вопрос задать 10 раз, то ответ изменится?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735051
AntonariyПопробуй добавить пустой шаблон <xsl:template match="text()"/>

в for-each?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735054
_Vasilisk_Валерьянкавверху страницы появляется все кишки - значения всех узлов XML, почему?Вы думаете, что если вопрос задать 10 раз, то ответ изменится?

принцип телевизионной программы: только что включивший телевизор сразу поймет, о чем идет речь ))

шучу конечно, прости
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735119
_Vasilisk_Output
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="UTF-16"?><Root>
<A>
<B>bbb</B>
<C>ccc</C>
</A>
<A2>
<B2>22222</B2>
<C2>33333</C2>
</A2>
</Root>



а как вы смотрите output, это каким-то софтом пользуетесь?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735133
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ВалерьянкаAntonariyПопробуй добавить пустой шаблон <xsl:template match="text()"/>

в for-each?снова шутишь?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735144
Antonariy,

объясни пожалуйста, зачем нужен пустой шаблон?
а как его вызывать?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735167
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Его вызывать не нужно, его нужно просто вставить в документ рядом с любым другим xsl:template. Он экранирует вывод текста, который может происходить в результате неявного вызова через apply-templates.
Если ничего не изменится, значит проблема где-то еще.
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735175
Поставлю вопрос еще по другому:
Какая разница в выводе между
Код: xml
1.
2.
3.
4.
<xsl:apply-templates select="item" />
<xsl:template match="item">
  <!--код шаблона-->
</xsl:template>


и
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
<xsl:apply-templates select="item" />
<xsl:template match="item">
    <item>
        <xsl:attribute name="name">
            <xsl:choose>
                  <!--некоторое условия для создания атрибута-->
            </xsl:choose>
        </xsl:attribute>
        <xsl:copy-of select="*"/>
    </item>
  <!--код шаблона-->
</xsl:template>



в чем принципиальная разница кроме добавления Атрибута?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735183
AntonariyЕго вызывать не нужно, его нужно просто вставить в документ рядом с любым другим xsl:template. Он экранирует вывод текста, который может происходить в результате неявного вызова через apply-templates.
Если ничего не изменится, значит проблема где-то еще.

так и делал, разницы нету: вверху все кишки XML, а ниже - уже размеченное содержание, разве что за исключением одной детали - у размеченной части страницы не выводится цена товаров, не знаю, связано это или нет. Т.е. в принципе мы уже где-то близко к решению по Вашему сценарию (еще раз спасибо за идею), кроме вышеописанных проблем.
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735184
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В первом варианте шаблон пустой, а во втором в нем есть item.
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735196
Antonariy,

да нет же не пустой, там кода полно и красиво выводится! Рабочий шаблон!
Во втором варианте мы добавили код для нового атрибута и скопировали содержимое шаблона, они же должны одинаково выводится?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735216
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Валерьянкаа как вы смотрите output, это каким-то софтом пользуетесь?notepad.exe
Валерьянкада нет же не пустой, там кода полно и красиво выводится!Валерьянка
Код: xml
1.
2.
3.
<xsl:template match="item">
  <!--код шаблона-->
</xsl:template>

Вы издеваетесь?
...
Рейтинг: 0 / 0
Как скрыть <xsl:copy-of select=""/>
    #38735289
Antonariyа во втором в нем есть item

но в узле item нет вложенного узла item, есть вложенные modifications/item,
если эти новые узлы <item></item> созданы только для сортировки, то значит, этот измененный шаблон с вложенными item нельзя применять к товару, раз он искажает вывод?
может быть для for-each создать другой шаблон с другим именем?
что скажете?
...
Рейтинг: 0 / 0
25 сообщений из 26, страница 1 из 2
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Как скрыть <xsl:copy-of select=""/>
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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