Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Нужна помощь по XSLT / 4 сообщений из 4, страница 1 из 1
11.07.2014, 13:44
    #38694315
dwyli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по XSLT
Даны xml и xls
<a aid="0">
<b bid="1">
<b>
<b>
<c/>
</b>
</b>
<b>
<c>
<b/>
</c>
</b>
</b>
<c/>
</a>

<xsl:output method="xml" indent="yes"/>

<xsl:template match="/" name="template1">
<root>
<xsl:apply-templates/>
</root>
</xsl:template>

<xsl:template match="b/b" name="template2">
<double-b>
<xsl:apply-templates/>
</double-b>
</xsl:template>

<xsl:template match="b" name="template3">
<single-b>
<xsl:apply-templates/>
</single-b>
</xsl:template>

<xsl:template match="b/b/b" name="template4">
<triple-b>
<xsl:apply-templates/>
</triple-b>
</xsl:template>

<xsl:template match="text()" name="template5">
<_/>
</xsl:template>

<xsl:template match="@*" name="template6">
<attr/>
</xsl:template>
</xsl:stylesheet>

вот такой получается результат после трансформации
<root>
<_/>
<single-b>
<_/>
<double-b>
<_/>
<triple-b>
<_/>
<_/>
</triple-b>
<_/>
</double-b>
<_/>
<double-b>
<_/>
<_/>
<single-b/>
<_/>
<_/>
</double-b>
<_/>
</single-b>
<_/>
<_/>
</root>

Мне необходимо написать где в какой строке работает какой Template (это я вроде поняла)
2. написать почему переменчивый порядок следования или почему single-b стоит и в начале и в самой середине.
3. почему template6 не оказывает не какого влияния на атрибут aid для a или bid для b
4. Default-Templates есть ли тут или почему нету (здесь мне вообще не понятно что это такое)
5. еще в результате выдает предупреждение
Ambiguous rule match for /a[1]/b[1]/b[1]/b[1] Matches both "b/b/b" on
line 27 of file:... and "b/b" on line 15 of file:...
можно ли его как убрать

буду очень благодарна за помощь разобраться, или посоветуйте что почитать чтобы самой справится, весь интернет перерыла там только все общее стоит.
...
Рейтинг: 0 / 0
11.07.2014, 14:05
    #38694348
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по XSLT
Если Вам нужен ответ на Ваш вопрос, то начните с элементарного уважения к тем, кто будет читать Ваш вопрос. Сделайте так, чтобы читающие не ломали глаза о Ваш код. Используйте тег SRC
dwyli
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
<a aid="0">
    <b bid="1">
        <b>
            <b>
                <c/>
            </b>
        </b>
        <b>
            <c>
                <b/>
            </c>
        </b>
    </b>
    <c/>
</a>


dwyli
Код: 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.
29.
30.
31.
32.
33.
34.
<xsl:output method="xml" indent="yes"/>
    
    <xsl:template match="/" name="template1">
        <root>
            <xsl:apply-templates/>
        </root>
    </xsl:template>
    
    <xsl:template match="b/b" name="template2">
        <double-b>
            <xsl:apply-templates/>
        </double-b>
    </xsl:template>
    
    <xsl:template match="b" name="template3">
        <single-b>
            <xsl:apply-templates/>
        </single-b>
    </xsl:template>
    
    <xsl:template match="b/b/b" name="template4">
        <triple-b>
            <xsl:apply-templates/>
        </triple-b>
    </xsl:template>
    
    <xsl:template match="text()" name="template5">
        <_/>
    </xsl:template>
    
    <xsl:template match="@*" name="template6">
        <attr/>
    </xsl:template>
</xsl:stylesheet>


dwyliвот такой получается результат после трансформации
Код: 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.
<root>
   <_/>
   <single-b>
      <_/>
      <double-b>
         <_/>
         <triple-b>
            <_/>
            <_/>
         </triple-b>
         <_/>
      </double-b>
      <_/>
      <double-b>
         <_/>
         <_/>
         <single-b/>
         <_/>
         <_/>
      </double-b>
      <_/>
   </single-b>
   <_/>
   <_/>
</root>
...
Рейтинг: 0 / 0
11.07.2014, 14:08
    #38694354
_Vasilisk_
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по XSLT
...
Рейтинг: 0 / 0
11.07.2014, 14:28
    #38694390
dwyli
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Нужна помощь по XSLT
спасибо_Vasilisk_,
я не знала как код вставлять
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Нужна помощь по XSLT / 4 сообщений из 4, страница 1 из 1
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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