Yvision.kzYvision.kz
kk
Разное
Разное
399 772 постов41 подписчиков
Всяко-разно
-4
06:59, 21 сентября 2011

Шаблон для XSLT — заголовок с разделителем

Нужно сделать заголовок вида Contacts | About | This is Default Site Name, который будет собираться из данных, непосредственно в xsl-шаблоне.

Исходный XML:

<?xml version="1.0" encoding="utf-8" ?>
<page>
  <title default="This is Default Site Name" separator=" | ">
    <item>Contacts</item>
    <item>About</item>
  </title>
</page>

* This source code was highlighted with Source Code Highlighter.

Шаблон XSL:

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
  <xsl:template match="/">
    <html>
      <head>
        <title>
          <xsl:apply-templates select="page/title" />
        </title>
      </head>
      <body></body>
    </html>
  </xsl:template>

  <xsl:template match="title">
    <xsl:apply-templates select="item" />
    <xsl:value-of select="@default" />
  </xsl:template>

  <xsl:template match="title/item">
    <xsl:value-of select="." />
    <xsl:value-of select="//@separator" />
  </xsl:template>

</xsl:stylesheet>

* This source code was highlighted with Source Code Highlighter.

В результате мы получим заголовок вида Contacts | About | This is Default Site Name. В случае, если структура title в себе не будет ничего содержать (главная страница), то в результате получим только This is Default Site Name.

-4
414
0