powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Шаблон для всех текстовых записей
8 сообщений из 8, страница 1 из 1
Шаблон для всех текстовых записей
    #38579840
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Друзья, такой вопрос. Возможно ли сделать уникальный шаблон для всех node где содержится тег

Сейчас у меня есть много xsl где есть много шаблонов для разных элементов xml

Например:

автор<xsl:template name="element1/text">
дальше всякие нужности для оформления
<xsl:apply-template/>
</xsl:template >

или так

автор<xsl:template name="element2/text">
дальше всякие другие нужности для оформления
<xsl:apply-template/>
</xsl:template >

и таких шаблонов много

А мне нужно во всех текстах поменять символы скобок на кавычки. Вариант - в каждый шаблон лезть очень сложный помоему.
Можно ли написать один шаблон чтобы он менял скобки на кавычки для уже всех существующих шаблонов
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38579854
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Придется лезть в любом случае.

<xsl:apply-templates select="text()"/>

<xsl:template match="text()">
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38580640
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему после <xsl:apply-template/>

не переходит в шаблон:

<xsl:template match="text()">
<xsl:value-of select="'cделать с текстом что угодно'"/>
</xsl:template>

разве он не - все текстовые значения
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38580645
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
мне что, и xml и xsl угадывать?
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38580848
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сорри за неясность

xml и xsl очень объемный поэтому я выделил суть:

xml
автор
<root>
<element>
<title>Пример</title>

<description>
<title>Карта</title>
<info>новый уровень</info
</description>

<content>
<para>Чтото ещё</para>
<list>Тут список</list>
</content>
</element>

</root>




шаблоны

автор<xsl:template name="element/title">
дальше всякие другие нужности для оформления
<xsl:apply-template/>
</xsl:template >

<xsl:template name="element/description/title">
дальше всякие другие нужности для оформления
<xsl:apply-template/>
</xsl:template >

<xsl:template name="element/description/info">
дальше всякие другие нужности для оформления
<xsl:apply-template/>
</xsl:template >

<xsl:template name="content/para">
дальше всякие другие нужности для оформления
<xsl:apply-template/>
</xsl:template >

....


я делаю шаблон дополнительный

автор<xsl:template match="text()">
<xsl:value-of select="'cделать с текстом что угодно'"/>
</xsl:template>

рассуждая таким образом что как только в любой момент применения <xsl:apply-template/> из списков шаблона, процесс должен обрабатывать текст, для текста ВРОДЕ КАК существует отдельный шаблон, но я так понимаю что что-то здесь не так. Или моя логика рассуждения и понимания процесса, либо неправильно пишу
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38580919
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<xsl:apply-template/>

это что за народное творчество? во-первых, template s , во-вторых, где select?
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38580928
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
<xsl:template name ="element/title">

как у вас хоть что-то может выводиться, если по всему документу полный провал в синтаксисе?
...
Рейтинг: 0 / 0
Шаблон для всех текстовых записей
    #38587879
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да действительно, торопился и писал руками и поэтому допустил несколько синтаксических ошибок, приношу свои извинения.
Для меня сложно вместить весь код так как он очень объемный.

То что я пытаясь понять . имея множество шаблонов могу ли я вставиться со своим шаблоном для текстовых узлов.
Я понимаю что парсер работает примерно так

Идет от главной ноды вглубь если стоит <xsl:apply-templates/>
то применяется следующий шаблон если он есть и так далее и так далее

у любой ноды есть две характеристики - текстовое поле и атрибуты
так вот я хочу во всех текстовых полях применить одно и тоже правило.
Сейчас приходится в каждый шаблон его дописывать и их очень много.

Можно ли сделать универсальный для всех текстовых полей. Я так понимаю, что это самое последнее что обрабатывается парсером. Я услышал ответ - нет. Но продолжаю задвать этот вопрос потому что объяснения не понимаю и чтобы облегчить себе работу все равно пытаюсь думать как возможно сделать такое.

<xsl:apply-templates/> - часто встречаю такую конструкцию, написано не мной а вполне в серьезной компании. Если этот атрибут не задан, выбираются все дочерние элементы текущего узла.

Действительно там где у меня name должно идти match. Пытался описать разнообразие разных шаблонов.
...
Рейтинг: 0 / 0
8 сообщений из 8, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Шаблон для всех текстовых записей
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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