変換から:nil =「true」にどのように私はXSIを持つ要素を除外することができますか?
質問
私は最近ので、ノードのいくつかは、今の属性のxsiを持っていることを変更し、いくつかのXMLファイルを持っています。私は、データのいくつかの簡単なeyeballingのためにXMLをHTMLにレンダリングするXSLTスタイルシートを持っています。現在、私は、スタイルシートを適用する前に、私はXMLのうち、名前空間を取り除く自分で物事を容易にします。それが私たちの最後の更新までの罰金を働きました。 XSLは、XSLを処理する方法を知らないので、今、私はエラーを取得しています:nilを=「true」を
。 nilを= XMLで「真」の試合、私はそれを変換する前に、そうXSLTスタイルシートをcludgeすることが可能である場合、私は思っていた。私は、すべてのXSLに置き換え/削除を行いますので、私は簡単にコードを更新することができますそのXSI:ゼロのが無視されます/いない変換の失敗原因となるような名前空間がXMLに含めていない場合であっても。私は、私はそれが展開され得るために、いくつかの内部フープを介してジャンプする必要が新しいウェブビルドを発行する必要がある場合は、今、サーバー上の変更を、作ることができるので、私は物事をこの方法で行うことを好むだろう。
私が働いて物事を取得した後。(XSLを取り除いて、次のいずれかの変換の前または中にはnilのを)私がいることを周りに戻って回るとフィギュア、私は元々の名前空間を削除した理由をして修正します。
あなたが私を与えることができます任意の助けてくれてありがとう。
解決
なぜあなたは最初の場所で名前空間を削除したのですか? XSLTを使用すると、接頭辞が出力に入れてはならない、とあなたはスタイルシートでうまくそれらxsi:nil
をスキップできるかを制御できます。
xsi
接頭辞には名前空間接頭辞の宣言がない場合は、は、XMLが有効ではありません。だから、どちらかの無効なXMLを扱っているか、あなたはまだいくつかのXSIの名前空間宣言のどこかを持っている、とあなたはこれらのエントリをスキップするXSLTを変更することができます。
そうした場合、は本当に後でそれを修正することを確認し、XMLソースに検索をリプレース(もうすぐ!)、スタッフのこの種は、あなたの首を破るしようとしているからです。