powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Тривиальная задача про текст.
11 сообщений из 11, страница 1 из 1
Тривиальная задача про текст.
    #34384904
Vladimir Kovalevskii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plaintext
1.
2.
3.
4.
5.
   <spec:item sign="*">
    <spec:gloss>Система</<spec:gloss> обеспечивает возможность консолидации финансовой информации
     по одному или нескольким структурным подразделениям и по одной
    или нескольким аналитикам.
   </spec:item>

соответственно хочу, чтобы <spec:gloss> после преобразования заменились на <a href> </a>

решается данная тривиальная задача с помощью XSL???

не могу сообразить как???

Спасибо.
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34384927
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Типа

Код: plaintext
1.
2.
3.
4.
5.
...
<xsl:template match="spec:gross">
     <a href="куда-то ..."><xsl:value-of select="."></a>
</xsl:template>
...
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34384995
Vladimir Kovalevskii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrushokТипа

Код: plaintext
1.
2.
3.
4.
5.
...
<xsl:template match="spec:gross">
     <a href="куда-то ..."><xsl:value-of select="."></a>
</xsl:template>
...


внутри другого шаблона не покатит ... :(
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34385092
andrei77
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
шаблон в шаблоне в принципе быть не может,
единственный способ взывать из одного шаблона
другой именованный шаблон
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34385155
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Посмотри <xls:call-template ...>
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34385180
Vladimir Kovalevskii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а как такое внутри for-each сделать .... потому что

Код: plaintext
<spec:item sign="*">

перебираются в цикле :(.
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34385454
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Как я уже говорил - for-each практицки всегда можно заменить новым template. Я использую его редко. Причина - сбивается текущий node.

Можно задачку по подробнее, а то не понятно что и где (и куда) перебирается?
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34386054
Vladimir Kovalevskii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
andrushokКак я уже говорил - for-each практицки всегда можно заменить новым template. Я использую его редко. Причина - сбивается текущий node.

Можно задачку по подробнее, а то не понятно что и где (и куда) перебирается?

xml:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
<?xml version="1.0" encoding="UTF-8" ?> 
- <spec:root xmlns:spec="http://nek-slv-kovalevskiy/core_web/specification">
  <spec:header>[HEADER]</spec:header> 
- <spec:brief caption="CAPTION">
- <spec:subbrief caption="BRIEF INFO">
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:subbrief>
  </spec:brief>
- <spec:links>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:links>
- <spec:tips>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:tips>
- <spec:definition caption="CAPTION">
  <spec:item sign="SIGNATURE" /> 
  <spec:item sign="SIGNATURE" /> 
  </spec:definition>
- <spec:links>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:links>
- <spec:tips>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:tips>
- <spec:abstract caption="CAPTION">
  <spec:item sign="SIGNATURE" /> 
  </spec:abstract>
- <spec:links>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:links>
- <spec:tips>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:tips>
- <spec:context caption="Содержание">
  <spec:contextitem ref="XML_URI" sign="SIGNATURE" group="1|0">TEXT</spec:contextitem> 
  </spec:context>
- <spec:links>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:links>
- <spec:tips>
  <spec:item sign="SIGNATURE">TEXT</spec:item> 
  </spec:tips>
  </spec:root>

хочу HTML вида.

ЗАГОЛОВОК
бла бла бла бла
ОПРЕДЕЛЕНИЕ
бла бла бла бла
бла <a href="#" onclick="open_glossary('слово_из_глоссария1')">слово_из_глоссария</a>
ИЗМЕРЕНИЕ
бла бла бла бла
бла <a href="#" onclick="open_glossary('слово_из_глоссария1')">слово_из_глоссария1</a> бла
бла

....
....
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34386059
Vladimir Kovalevskii
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
П.С.

т.е значение TEXT это набор слов, хочется обернуть слово в тег, чтобы он потом трансформировался в ссылку.
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34387335
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Из XML я мало чего понял, какие item к чему относятся. Но попробуем ...
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
<xsl:template match=".">
   <xsl:apply-template select="spec:brief">
   <xsl:apply-template select="spec:definition">
   <xsl:apply-template select="spec:abstracts">
   ...
</xsl:template>

<xsl:template match="spec:brief">
ЗАГОЛОВОК
бла бла бла бла
   <xsl:apply-template select="spec:item">
   ...
</xsl:template>

<xsl:template match="spec:definition">
ОПРЕДЕЛЕНИЕ
бла бла бла бла
   <xsl:apply-template select="spec:item">
   ...
</xsl:template>

<xsl:template match="spec:abstracts">
ИЗМЕРЕНИЕ
бла бла бла бла
   <xsl:apply-template select="spec:item">
   ...
</xsl:template>

<xsl:template match="spec:item">
бла <xsl:element name="a">
          <xsl:attribute name="href">#</xsl:attribute>
          <xsl:attribute name="onclick">open_glossary('<xsl:value-of select="spec:gloss"/>')         </xsl:attribute>
      </xsl:element> бла
   ...
</xsl:template>


И никаких те циклов ...
...
Рейтинг: 0 / 0
Тривиальная задача про текст.
    #34387695
Фотография andrushok
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Да, забыл одну запись добавить
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
<xsl:template match="spec:item">
бла <xsl:element name="a">
          <xsl:attribute name="href">#</xsl:attribute>
          <xsl:attribute name="onclick">open_glossary('<xsl:value-of select="spec:gloss"/>')         </xsl:attribute>
<xsl:value-of select="spec:gloss"/>
      </xsl:element> бла
   ...
</xsl:template>
Вот так должно быть
...
Рейтинг: 0 / 0
11 сообщений из 11, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Тривиальная задача про текст.
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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