0

単純な XML ファイルがあり、XML を HTML に処理する XSLT ファイルを作成しようとしています。

XML

<?xml version="1.0" ?>
<rss version="2.0" xmlns:media="http://search.yahoo.com/mrss/">
  <channel>
<title>PDF</title>
<ttl>10</ttl>
<link>https://teele.box.com/shared/3m9en769bdh36d4y2hjy/rss.xml</link>
<description>PDF file updates</description>
<lastBuildDate>Tue, 05 Mar 2013 13:59:22 -0800</lastBuildDate>
<copyright>Copyright 2009 box.net</copyright>
<webMaster>no-reply@box.com (No reply)</webMaster>
<item>
  <title>Kat Martin - Sinclair Sisters Trilogy 02 - Desert Heat.pdf</title>
  <description></description>
  <pubDate>Sun, 03 Feb 2013 17:19:36 -0800</pubDate>
  <link>https://teele.box.com/index.php?rm=box_download_shared_file&amp;shared_name=3m9en769bdh36d4y2hjy&amp;file_id=f_5920615203&amp;rss=1</link>
  <media:content url="https://teele.box.com/index.php?rm=box_download_shared_file&amp;shared_name=3m9en769bdh36d4y2hjy&amp;file_id=f_5920615203&amp;rss=1" />
  <media:text></media:text>
  <media:title>Kat Martin - Sinclair Sisters Trilogy 02 - Desert Heat.pdf</media:title>
  <media:thumbnail url="https://ak3.boxcdn.net/resources/rcxnqksqis/thumbs/43x51/application/pdf.gif"  height="48" width="48"/>
</item>

そして私のXSLT

<?xml version='1.0'?>
<xsl:stylesheet version="2.0"
            xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
             xmlns:media="http://search.yahoo.com/mrss/">

 <xsl:output method="html" />

<xsl:template name="Content">
  <xsl:for-each select="rss/channel/item">
    <xsl:value-of select="media:thumbnail/@url"/>
  </xsl:for-each>
</xsl:template>

<xsl:template match="/">
  <xsl:call-template name="Content" />
</xsl:template>
</xsl:stylesheet>

これを処理すると、XSLT をテストしているhttp://www.online-toolz.com/tools/xslt-transformation.phpから次のエラーが表示されます。

エラー:XSLTProcessor::importStylesheet() [xsltprocessor.importstylesheet]: xsl:version: 1.0 の機能のみがサポートされています

これは media: タグに関連していますが、その意味がわからず、名前空間が定義されています。

4

2 に答える 2

1

version="2.0"をversion="1.0"に設定するだけで、エラーは発生しません。

また、次のようにXSLTプロセッサに関する情報を取得できます。

xsl:version=<xsl:value-of select="system-property('xsl:version')" />
xsl:vendor=<xsl:value-of select="system-property('xsl:vendor')" />
xsl:vendor-url=<xsl:value-of select="system-property('xsl:vendor-url')" />
xsl:product-name=<xsl:value-of select="system-property('xsl:product-name')" />
xsl:product-version=<xsl:value-of select="system-property('xsl:product-version')" />
xsl:is-schema-aware=<xsl:value-of select="system-property('xsl:is-schema-aware')" />
xsl:supports-serialization=<xsl:value-of select="system-property('xsl:supports-serialization')" />
xsl:supports-backwards-compatibility=<xsl:value-of select="system-property('xsl:supports-backwards-compatibility')" />
msxsl:version=<xsl:value-of select="system-property('msxsl:version')" />
于 2013-03-06T21:30:32.657 に答える
0

v2 機能に満足していないのは Web サイトのプロセッサのようです。

http://www.online-toolz.com/tools/xslt-transformation.php

SharePoint 2010 内から動作しています

于 2013-03-06T19:48:13.167 に答える