1

XSDファイルの期間としてXSDによって定義されている時間間隔をXMLに保存しようとしています。使い方はわかりませんが、私が試しているのは次のとおりです。

<duration>PT5H30M</duration>

これは5時間30分に相当します。XSLTファイルがXMLをHTMLに変換すると、期間が時間形式に変換されると思いましたか?

多分このように使用する必要がありますか?:

<duration duration="PT5H30M"></duration>

XSLTファイルで期間を取得する場所は次のとおりです。

<tr>
<td><xsl:attribute name="class">lside</xsl:attribute>Duration</td>
<td colspan="2"><xsl:attribute name="class">rside</xsl:attribute><xsl:value-of select="/flights/flight/route[routename/. = $code]/duration"/></td>
</tr>

アドバイスはありがたいですが、XSDドキュメントはまったく役に立ちません。

4

2 に答える 2

1

あなたのスキーマを見ずに、私はどちらか(または両方、またはどちらでもない)かどうかわかりません

<duration>PT5H30M</duration>

<duration duration="PT5H30M"></duration>

は有効なインスタンスですが、前者の方が可能性が高いようです。

ただし、2番目のフォームに基づいて回答を提供しました。これは、回答した時点での質問のように見えたと思います。後で編集されています。

于 2013-02-18T22:54:48.400 に答える
1

XSLT 2.0を使用している場合は、期間を次のような時間に簡単に変換できます。

<xsl:template match="duration">
  <xsl:value-of select="xs:dayTimeDuration(@duration) + xs:time('00:00:00')"/>
</xsl:template>

ただし、XSLTプロセッサは、スタイルシートが要求するものでない限り、これを実行しません。

于 2013-02-17T21:48:34.043 に答える