Преобразование RSSTV XML с помощью XSLT - PullRequest
0 голосов
/ 10 октября 2011

Я пытаюсь преобразовать RSSTV XML с использованием XSLT. Проблема в том, что мне нужно, чтобы XML выглядел так: <?xml version="1.0"?><rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0"><channel>

Однако я не могу создать элемент rss с этим атрибутом. Я пытался использовать <xsl:attribute>, но не смог этого сделать.

Ответы [ 2 ]

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

Просто напишите :

<rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0">
  <channel/>
</rss>

xmlns:tv="http://www.rss-tv.org/rss/tv1.0" не является атрибутом - это определение пространства имен и определяет узел пространства имен, принадлежащий элементу rss.

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

Я не совсем понимаю, в чем ваша проблема:

Вот два способа сделать это.

1) Предполагая, что пространство имен жестко закодировано в вашем xslt.

<xsl:template match="/">
            <rss xmlns:tv="http://www.rss-tv.org/rss/tv1.0" version="2.0"></rss>
</xsl:template>

2) Предполагая, что вы получаете пространство имен из какого-либо другого параметра:

<xsl:template match="/">
        <xsl:variable name="namespace">http://www.rss-tv.org/rss/tv1.0</xsl:variable>
        <rss xmlns:tv="{$namespace}"/>
</xsl:template>

Создайте элемент с желаемым результатом.

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