Я слишком долго занимался этим и не могу найти ответ нигде - или, может быть, я не знаю, как сформулировать вопросы.XSLT с пространством имен в корневом элементе
У меня есть XML-файл, который представляет собой карту сайта.
<?xml version="1.0" encoding="UTF-8"?>
<urlset xmlns="http://www.sitemaps.org/schemas/sitemap/0.9">
<url>
<loc>http://...</loc>
<pagetitle>English</pagetitle>
<children>
<url>
<loc>http://...</loc>
<pagetitle>page title</pagetitle>
</url>
<children>
...
Этот XML представляет собой карту сайта. Я написал XSLT, чтобы превратить это в иерархический список.
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" indent="yes" version="4.0"/>
<xsl:template match="/">
<ul><xsl:apply-templates /></ul>
</xsl:template>
<xsl:template match="url">
<li><a href="{loc}"><xsl:value-of select="pagetitle"/></a></li>
<xsl:apply-templates select="children"/>
</xsl:template>
<xsl:template match="children">
<ul><xsl:apply-templates select="url"/></ul>
</xsl:template>
</xsl:stylesheet>
Эта таблица стилей не работает, когда у меня есть <urlset xmlns="..>
, но если я изменить узел использовать только <xmlns>
(без атрибута) он работает.
Я далек от гуру XSLT. У кого-нибудь есть предложение?
Это очень часто задаваемый вопрос - выполните поиск * namespace *. –
Ввод названия вашего вопроса в поле поиска SO получает 125 ударов по почти одинаковым вопросам. Как вы могли их не найти? –