|
分類:[C#]
こんにちは。よろしくお願いします。
XMLをスキーマで妥当性チェックをしていて、スキーマの解析中に意図しないエラーがでてしまって困っております。 (Borland C# Builder)
---------------------- スキーマ ---------------------- <?xml version="1.0" encoding="UTF-8"?> ・・・省略・・・ <xsd:simpleType name="test"> <xsd:restriction base="xsd:string"> <xsd:pattern value="(\p{IsBasicLatin}|\p{IsLatin-1Supplement})*"/> </xsd:restriction> </xsd:simpleType> ・・・省略・・・ ------------------------------------------------------
とスキーマに記述しており、次のような解析エラーが出力されます。
--------------------- 解析エラー --------------------- 面を制限しているパタンが無効です - 解析中 "^(((\p{IsBasicLatin}|\p{IsLatin-1Supplement})*))$" - 不完全な \p{X} 文字エスケープです。 ------------------------------------------------------
どうやら "IsLatin-1Supplement" がよろしくないようです。
回避する術をご教授ください。よろしくお願いします。
-------------------- 以下 C# ソース ------------------- try { String schemaPath1 = "スキーマファイル"; String documentPath = "XMLファイル";
XmlValidatingReader reader = new XmlValidatingReader( new XmlTextReader(documentPath) );
reader.Schemas.Add(null, schemaPath1);
reader.ValidationType = ValidationType.Schema; reader.ValidationEventHandler += new ValidationEventHandler (ValidationHandler);
XmlDocument doc= new XmlDocument();
doc.Load(reader);
for(int i=0; i<_cnt; i++) { ・・・エラー処理・・・ } } catch( Exception ee ) { ・・・エラー処理・・・ }
|