32 lines
974 B
Smarty
32 lines
974 B
Smarty
<?xml version="1.0" encoding="utf-8"?>
|
|
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
|
|
|
|
<xsl:template match="text()"/>
|
|
|
|
{{function clause_xpath}}
|
|
{{if !$clause.attribute}}
|
|
{{$clause.element}}{{elseif $clause.attribute == 'class'}}
|
|
{{$clause.element}}[contains(concat(' ', normalize-space(@class), ' '), '{{$clause.value}}')]{{else}}
|
|
{{$clause.element}}[@{{$clause.attribute}}='{{$clause.value}}']{{/if}}
|
|
{{/function}}
|
|
|
|
{{foreach $spec.include as $clause}}
|
|
<xsl:template match="{{clause_xpath clause=$clause}}">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="node()|@*" mode="remove"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
{{/foreach}}
|
|
|
|
{{foreach $spec.exclude as $clause}}
|
|
<xsl:template match="{{clause_xpath clause=$clause}}" mode="remove"/>
|
|
{{/foreach}}
|
|
|
|
<xsl:template match="node()|@*" mode="remove">
|
|
<xsl:copy>
|
|
<xsl:apply-templates select="node()|@*" mode="remove"/>
|
|
</xsl:copy>
|
|
</xsl:template>
|
|
|
|
</xsl:stylesheet>
|