0

入力 XML のすべての属性に一致する XSL があり、それらをそのまま出力 XML にコピーします。関数を使用してname()、一致した属性の名前を取得します。XSL 自体で名前空間が定義されていない属性を XSL が検出すると、「不明なスキーマ接頭辞」エラーが発生します。しかし、これらの名前空間を XSL 内で定義すると、問題なく動作します。

この名前空間の定義が必要なのはなぜですか?

4

1 に答える 1

1

コードの何が問題なのかを教えてほしい場合は、コードを表示すると役立ちます。それ以外の場合は、推測するだけです。私の推測では、あなたは次のようなことをしていると思います:

<xsl:attribute name="{name()}"/>

「 xyz :banananame()のようなものを返すと失敗します。 xyzはスタイルシートで宣言された接頭辞ではありません。これを行うより良い方法は次のとおりです。

<xsl:attribute name="{local-name()}" namespace="{namespace-uri()}"/>

しかし、私が問題を完全に誤解していた場合は、自分を責めてください。

于 2013-06-17T20:57:29.023 に答える