Документ со списком

Хранить списочные данные, например, список новостей, очень легко. Пример XML-файла со списком новостей:

<document>
  <news-list>
    <news id="123" title="Первая новость">
      <date>23.01.2010</date>
      <announce>Анонсирующий текст первой новости</announce>
      <description>Полный текст первой новости</description>
    </news>
    <news id="456" title="Вторая новость">
      <date>25.01.2010</date>
      <announce>Анонсирующий текст второй новости</announce>
      <description>Полный текст второй новости</description>
    </news>
    <news id="789" title="Третья новость">
      <date>30.01.2010</date>
      <announce>Анонсирующий текст третьей новости</announce>
      <description>Полный текст второй новости</description>
    </news>
  </news-list>
</document>

Для примера приведем код XSL-файла page-news.xsl, который преобразует исходные XML-данные в конечную HTML страницу:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0">

<xsl:template match="news-list">
  <html>
    <body>
  <xsl:apply-templates select="news"/>
    </body>
  </html>
</xsl:template>

  <xsl:template match="news">
    <h1><xsl:value-of select="@title"/></h1>
    <i><xsl:value-of select="date"/></i><br />
    <xsl:value-of select="announce"/><br />
    <a href="/news.xml?news_id={@id}">полный текст новости</a>
  </xsl:template>
</xsl:stylesheet>

Как видите, все достаточно просто и, по сути, не отличается от простой связки XML+XSLT. Т.е. Mozart позволяет работать с этими технологиями без каких-либо ограничений, лишь расширяя возможности их применения своими дополнительными средствами. 

Получившийся код будет выглядеть так:

<html>
 <body>
  <h1>Первая новость</h1>
  <i>23.01.2010</i><br />
  Анонсирующий текст первой новости<br/>
  <a href="/news.xml?news_id=123">полный текст новости</a>
  <h1>Вторая новость</h1>
  <i>25.01.2010</i><br />
  Анонсирующий текст второй новости<br/>
  <a href="/news.xml?news_id=123">полный текст новости</a>
  <h1>Третья новость</h1>
  <i>30.01.2010</i><br />
  Анонсирующий текст третьей новости<br/>
  <a href="/news.xml?news_id=123">полный текст новости</a>
</html>

В результате на странице в браузере мы получим список трех новостей с оформлением. Если у вас каким-то образом поменяется исходная структура данных или будет необходимо поменять оформление, просто изменить соответствующие файла. Язык XSLT позволяет с легкостью оперировать данными: сортировать их, форматировать, дополнять. С его помощью вы можете представить список даже в виде CSV файла (текстовый файл с разделителями).

Результат

* This source code was highlighted with Source Code Highlighter.

 

  Текстовый документ      |      Выборка данных из БД