Я пытаюсь создать XSLT, в котором перечислены фильмы, и оформляю заголовки так, чтобы у каждого заголовка был свой цвет, затем я выбираю заголовок с интерполяцией (XPath?)
Вот файл 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>Videos</title>
<style>
table, tr, td { border: thin black solid }
th { background-color: #AAFFAA }
.Daredevil { color: red; }
/* Look at those spaces! Hrmphf! */
.Drag Me To Hell { color: green; }
</style>
</head>
<body>
<table>
<tr><th>Movies</th></tr>
<xsl:apply-templates select="//movie"/>
</table>
</body>
</html>
</xsl:template>
<xsl:template match="//movie[not(@title=preceding::movie/@title)]">
<!-- Title should be the one of the titles in the CSS -->
<tr class="{@title}"><td><xsl:value-of select="@title"/></td></tr>
</xsl:template>
</xsl:stylesheet>
Проблема, однако, заключается в том, что некоторые заголовки фильмов содержат пробелы.Могу ли я иметь пробелы в названии?Если нет, есть ли какие-либо обходные пути (помимо подчеркивания или тому подобного в XML)?
Обновление:
Хорошо, я понимаю, что это невозможно,На данный момент я использую translate(@title, ' ', '-')
, который работает, когда CSS-имена разделены -
.Я все еще хотел бы знать, есть ли лучший способ сделать это.:)