2
を経由してXMLファイルを変換することによって、ローマ数字に数値を変換するは、私は次のXML入力を持っているXSLT
<root>
<calc>
<roman>XLII</roman>
<arab>42</arab>
</calc>
<calc>
<roman>CXXXVII</roman>
<arab>137</arab>
</calc>
</root>
XSLTを書き込むこと。今まで私はこのXSLTを書いていましたが、正しい出力を出力するために何が必要ですか?
<?xml version="1.0" encoding="UTF-8"?> <xsl:transform xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:num="http://whatever" version="2.0" exclude-result-prefixes="xs num"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/> <!-- identity transform --> <xsl:template match="@*|node()"> <xsl:copy> <xsl:apply-templates select="@*|node()"/> </xsl:copy> </xsl:template> </xsl:transform>
をあなたはおそらく ' ..'ラウンドの出力を含めることが、なぜXSLT 1または2を主張する?この解決策は、どちらかでも動作します。 –
Flynn1179
@ Flynn1179キャッチのおかげで - バージョンに関しては、私は答えを探す場所を知るように頼んだ。それが起こると、答えはXSLT 1.0でも機能しますが、必ずしもそうではありません。 –
バリデーションを追加するにはどうしたらいいですか?数字0を入力するとエラーになり、またXSLTは3xxxまでの数字を処理できます。したがって、ローマ数字の中で最も必要な手紙は「M」になります。例えば、3999以上の数字は無効にする必要があります。したがって、短い数字は1〜3999の間である必要があります。 – habed