Les réflexions de l'ingénieur

unauthenticated

XSL — The Extensible Stylesheet Language

XSLT (XSL Transformations) — декларативный язык XML трансформаций из подмножества XML.

Прекрасно подходит для создания системы шаблонизации.

Не смотря на то, что в XSLT существуют условные выражения и циклы, язык позволяет создавать шаблоны не используя их вовсе.

<xsl:apply-templates>

Фактически для создания шаблона достаточно трёх основных конструкций: <xsl:apply-templates>, <xsl:template> и <xsl:value-of>

Если мы хотим обработать узлы параметрически, вовсе не требуется строить монструозные каскады условий, достаточно создать шаблоны с требуемыми параметрами и вызвать применение шаблонов для всего набора узлов

XML:

<list>
  <li type="url">http://ingeniarius.name</li>
  <li type="text">Text</li>
</list>

XSL:

<xsl:template match="list">
  <xsl:apply-templates select="li" />
</xsl:template>
<xsl:template match="li[@type='text']">
  <xsl:value-of select="." />
</xsl:template>
<xsl:template match="li[@type='url']">
  <a href="{.}"><xsl:value-of select="." /></a>
</xsl:template>

Оставить сообщение автору