6

私のxslは以下のようになります:

<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" 
xmlns:SimpleDateFormat="java.text.SimpleDateFormat"
xmlns:Date="java.util.Date" exclude-result-prefixes="SimpleDateFormat Date">

<xsl:variable name="s" select="SimpleDateFormat:new(MMM/dd/yyyy-HH/mm/ss/SSS)"/>
<xsl:variable name="date" select="Date:new(number($beginTime))"/>

では、インスタンス 's' のメソッド format(Date date) を呼び出す方法は?

を使用する<xsl:value-of select="s:format($date)" />と、エラーは次のとおりです。プレフィックスは名前空間に解決する必要があります: s.

しかし、このように名前空間を追加すると : xmlns:s="java.text.SimpleDateFormat"<xsl:value-of select="s:format($date)" />指定された形式ではなく、デフォルトの形式が返されます。

MM/dd/yyyy-HH/mm/ss/SSS のような指定された形式を取得するにはどうすればよいですか?

4

1 に答える 1

5

使用する必要がある名前空間は、オブジェクト タイプを参照するものであり、変数自体を呼び出しの最初の引数として渡します。

ところで:アポストロフィの間にフォーマット引数を入れる必要があります:

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:SimpleDateFormat="java.text.SimpleDateFormat" xmlns:Date="java.util.Date" exclude-result-prefixes="SimpleDateFormat Date">
    <xsl:variable name="s" select="SimpleDateFormat:new('MMM/dd/yyyy-HH/mm/ss/SSS')"/>
    <xsl:variable name="date" select="Date:new()"/>
    <!-- +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ -->
    <xsl:template match="*">
        <Test>
            <xsl:value-of select="SimpleDateFormat:format($s,$date)" />
        </Test>
    </xsl:template>
</xsl:stylesheet>

これが役立つことを願っています!

于 2012-10-30T16:47:12.617 に答える