エスケープされていないアンパサンドが含まれるXMLデータを処理する必要があり、プロデューサを&にエスケープしたり、CDATAセクションに入れることができません。XMLをクリーンアップする正規表現
&を& ampに置き換える正規表現を探しています。それがエンティティの一部でない場合。 (?!| APOS | QUOT | LT |(アンペアGT);):このような何か&残念ながら
、私のプログラミング環境だけではないオペレータが欠けているように見える "拡張POSIX 1003.2正規表現を"(http://www.kernel.org/doc/man-pages/online/pages/man7/regex.7.htmlを参照)をサポート"!"ここに必要です。
どのように必要な正規表現を工夫するのですか?
正しい「XML-ish」応答は、バリデーターを介してそれを実行し、「整形式ではないXML」として拒否することです。 XMLのデザイナーは、実際の世界では、時には悪い入力を受け止め、それを扱う必要があるという事実を認めていません。 – Spudley
@Spudley:私は実際にバリデーターを通してXMLファイルを実行します。それがどうやって不正な部分に気づいたのですか?残念なことに、無効なXMLを作成しているMicrosoftの製品と「標準」というのは、「オプション」を意味するようです。 –
hehe。 Microsoftええ?その数字。 (商業的サポートは経営幹部がマイクロソフトを買うことにしばしば与える理由であるため、MSはあなたにそれを直す準備ができているのだろうか? – Spudley