XSLTは、シブリングが繰り返されるxmlをフラットファイルに変換します
-
29-10-2019 - |
質問
次のようなxmlがあります: ジェネラコディセタグプレ
フラットファイルに変換する必要があります。そのために、私は次のxslを作成しました ジェネラコディセタグプレ
したがって、出力は次のようになります
"HDR"; "Text"; "20120112045620"; "F"
"GL"; "PDA"; "People Status Global"; "term vocabulary"
"GL"; "PDA"; "ピープルステータスグローバル"; "ピープルステータスグローバル更新"
"GL"; "PDA"; "Global People Status"; "term vocabulary"
"GL"; "PDA"; "グローバルピープルステータス"; "ピープルステータスグローバル更新"
"GL"; "PDI"; "People Status Global"; "term vocabulary"
"GL"; "PDI"; "ピープルステータスグローバル"; "ピープルステータスグローバル更新"
"GL"; "PDI"; "Global People Status"; "term vocabulary"
"GL"; "PDI"; "グローバルピープルステータス"; "ピープルステータスグローバル更新"
"GL"; "GLB"; "People Status Global"; "term vocabulary"
"GL"; "GLB"; "ピープルステータスグローバル"; "ピープルステータスグローバル更新"
"GL"; "GLB"; "Global People Status"; "term vocabulary"
"GL"; "GLB"; "グローバルピープルステータス"; "ピープルステータスグローバル更新"
"FTR"; 12
xslを使用すると、単一行になります:
"GL"; "PDAPDIGLB"; "ピープルステータスグローバルグローバルピープルステータス"; "用語ボキャブラリーピープルステータスグローバル更新"
そしてヘッダー行:
"HDR"; "PIGLSSTD"; "20120112045620"; "F":
フッター行とともに、先頭に追加する必要があります
"FTR";
下部にあります。
解決
次のようなものが必要です: ジェネラコディセタグプレ
この変換が提供されたXMLドキュメントに適用される場合: ジェネラコディセタグプレ
必要な正しい結果が生成されます: ジェネラコディセタグプレ
説明:完全な行が形成された場合にのみ出力を実行します。その前ではありません。
更新:OPは、document()
機能が無効になっている環境で機能します。彼はヘッダーとフッターも必要です。
この場合、わずかに変更された変換を(exslt:node-set()
拡張関数を使用して)使用できるようになりました:
ジェネラコディセタグプレ