0
ローカル関数で次の問題があります。XQuery:ローカル関数のネームスペースの問題
次の関数:
declare function local:exp($w as node()) as element()* {
for $e in ($w/e)
let $exp:= QName ("myns", "real")
return
element {$exp}{
attribute resource {$e/@lang}
}
};
は、このXMLを生成します。
<real xmlns="myns" resource="eng"/>
本当に必要なことは次のとおりです。
<myns:real rdf:resource="lang"/>
は、どのように私はそれをachiveことができますか?
- 問題をどのように解決できますか?
- リソース属性にNSとして「rdf」を追加するにはどうすればよいですか。
ありがとうございます。
感謝。 あなたのソリューションは部分的に機能します。しかし、結果は次のようになります。 と入力します。 どうすれば削除できますか?私はコピーネームスペースの異なる変種を宣言したが、それは助けにはならない。 –
user3111525
クエリをキャッシュしていたoXygenだったはずです。結果の構造を変更した後、コピーネームスペース宣言が考慮され、NS宣言が結果から削除されます。再度、感謝します。 – user3111525
@ user322034:ドキュメント内に名前空間を持たずに名前空間接頭辞を使用することはできません。あなたができることは、ドキュメント内のトップレベル要素にこれらのプレフィックスがあることを確認することです(宣言名前空間宣言と同じモジュールで作成された場合に実行されます)。その後、ドキュメントの先頭に表示されますすべてのmynsではなく、本当の要素です。 –