質問
ように変換するにはポートされています。している方法が定義されるノードの値がstringの時にはハードコードされた).うにして文字列をノード?
なので、変換方法
define function foo($bar as node()*) as node() {
(: unimportant details :)
}
い文字列になりたいパスは、foo方法です。どんなに変換されるstringノードの方法を文字列になります。
解決
MarkLogicソリューション
最良の方法で変換し文字列へのノードは:
xdmp:unquote($string).
逆にしたい場合に変換するノードを文字列に使う:
xdmp:quote($node).
言語agnosticソリューション
ノードの文字列は:
fn:string($node)
他のヒント
を処理しなければいけない、 テキスト ノードの文字列だけを使用 テキスト ノードのコンストラクタ:
text { "your string goes here" }
や希望を 要素 文字列コンテンツを生成できます、 要素 のようなこと:
element (some-element) { "your string goes here" }
いう文字列が含まれるXMLマークアップが標準化したソリューション(からXPath/XQuery機能3.0):
- stringノード: fn:解析-xml()
- ノードの文字列: fn:serialize()
この回答によって異なりエンジンを使っています。たとえば、ユーザーの アングロサクソン, を使用 saxon:parse
方法。
実際の XQuery specうになっています.
一般的にはまだする必要がある場合に必要な側に組み込み XML から CDATA ます。そのまま読んでファイルからファイルシステム、または宣言 XML 直接インライン.
のときに使うの宣言書の代わりにハードコード文字列など(スタイラスタジオ)
declare namespace my = "http://tempuri.org";
declare function my:foo($bar as node()*) as node() {
<unimportant></unimportant>
} ;
let $bar := <node><child></child></node>
return my:foo(bar)
所属していません StackOverflow