powered by simpleCommunicator - 2.0.50     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / как разукрасить одинаковые слова xsl
3 сообщений из 3, страница 1 из 1
как разукрасить одинаковые слова xsl
    #37937538
notashik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Привет всем!
Я - новичок в xslt. Столкнулась с таким заданием. Есть .xml
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="parent1.xsl" version="1.0"?> 
<mimino>
    <part><p><b>A</b> (Picture 1) A baseball player wants to hit more home runs.</p>
    </part>
    <p>Many beautiful words</p>
    <p>Unfortunately, (Picture 2) these performance-enhancing drugs can have harmful side effects, not to mention the unfair competitive advantage they may give athletes. The consequences for using these substances can be severe. In some cases, athletes even face criminal charges for using and distributing these substances.</p>
    <p>In <i>(Picture 3)</i> addition to the hormones that enhance performance, the body produces many hormones that are necessary for normal functions. Let's look at the various hormones that the body produces, how the endocrine system uses them, and their physiological functions.</p>
</mimino>


и к нему пытаюсь написать .xsl
Код: xml
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.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version='1.0'
    xmlns:xsl='http://www.w3.org/1999/XSL/Transform' xmlns='http://www.w3.org/1999/xhtml'>
    <xsl:output method='html' />
    
    <xsl:template match='/'>
        <html>
            <head>
                <title>abr</title>
            </head>
            <body>
                <h1>
                    <span style="color:#A063B5">Abra cadabra</span>
                </h1>
                <xsl:apply-templates/>     
            </body>
        </html>
    </xsl:template>
    
    
    <xsl:template match="mimino//p | mimino/p//*">
        <xsl:if test="contains(text(), 'Picture')">
            
        </xsl:if> 
        <xsl:apply-templates/>
    </xsl:template>

</xsl:stylesheet>



Сама проблема: надо разукрасить все слова Picture с номерами в скобках в любой одинаковый цвет - (Picture #).
ВАЖНО, что версия xsl должна быть 1, а не 2. Параллельно я сама изучаю синтаксис xsl и, вполне возможно, что я не могу решить эту задачку из-за не знания основ.
Возникают сопутствующие вопросы, например:
1.Я не понимаю, как так написать, чтобы выбирались '(Picture number)', ведь номера у рисунков разные, значит я не могу пользоваться функцией contains(str, str) ?
2. Как добавить цвет этим словам?
Помогите, пожалуйста, справиться с этим заданием.
...
Рейтинг: 0 / 0
как разукрасить одинаковые слова xsl
    #37937602
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: xml
1.
2.
3.
4.
5.
6.
7.
<xsl:value-of select="substring-before(text(),'(Picture')"/>
<span style="color:red">
    <xsl:text>(Picture</xsl:text>
    <xsl:value-of select="substring-before(substring-after(text(),'(Picture'), ')')"/>
    <xsl:text>)</xsl:text>
</span>
<xsl:value-of select="substring-after(substring-after(text(),'(Picture'),')')"/>
...
Рейтинг: 0 / 0
как разукрасить одинаковые слова xsl
    #37937689
notashik
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо. Почти как надо!
...
Рейтинг: 0 / 0
3 сообщений из 3, страница 1 из 1
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / как разукрасить одинаковые слова xsl
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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