Не удается правильно преобразовать с помощью XSLT - PullRequest
0 голосов
/ 03 октября 2011

Я попытался использовать преобразование XSLT (ниже) в RSS с этим типом безрезультатно.Почему это так?

<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?>

<feed xmlns="http://www.w3.org/2005/Atom" xmlns:openSearch="http://a9.com/-/spec/opensearch/1.1/" xmlns:georss="http://www.georss.org/georss" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:gd="http://schemas.google.com/g/2005" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" gd:etag="W/&quot;CUACQXg6fyp7ImA9WhdUFUo.&quot;">

и структура его

<feed>
tags tags tags like <title></title>
<entry><published></published><title></title><content></content>....</entry>
</feed>

XSLT

<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:include href="identity.xsl"/>

<xsl:template match="node() | @*">
  <xsl:copy>
    <xsl:apply-templates select="node() | @*" />
  </xsl:copy>
</xsl:template>

<xsl:template match="entry"/>

</xsl:stylesheet>

1 Ответ

1 голос
/ 03 октября 2011

Ваша таблица стилей создана для пространства имен XML по умолчанию (xmlns = "").В RSS-канале определено пространство имен Atom (xmlns = "http://www.w3.org/2005/Atom") и, возможно, другие, если у вас есть вложенный XML-контент.

Чтобы« соответствовать »чему-либо в этом пространстве имен, вам также необходимо определить его в своей таблице стилей.Возможно, вы захотите определить Atom с префиксом вроде: xmlns: a = "http://www.w3.org/2005/Atom". Тогда ваше совпадение станет

<xsl:template match="a:entry"/>

Кроме того, приведенное выше совпадение соответствует записи, но вы ничего с этим не делаете.возможно, вы захотите распечатать преобразованное значение при получении записи, но вышеприведенное просто исключает его из результата.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...