2つの部分からなる質問があります:
regex
ファセットの式を取得し、XSD
それを使用して文字列が制限に一致するかどうかを判断するにはどうすればよいですか?私の考えでは、これは「XMLスキーマ正規表現を.NETに変換する方法」Regex
ですが、式を変換する以外の方法があれば、提案を受け付けています。テスト(#1)が失敗した場合、
XSD
パターンを使用regex
して、制約を満たす文字列を自動的に作成するにはどうすればよいですか?
XmlSchemaDatatype.ParseValueが答えです。関連付けられた単純型に複数のファセットがあり、パターン 1 に対してのみ検証する必要があると仮定すると、XmlSchemaSimpleTypeRestriction.Facetsで列挙型ファセットを見つけ、そのコピーを使用して新しい XmlSchemaSimpleType を作成する必要があります。上でスクープした値を使用して、新しい XmlSchemaSimpleTypeRestrictionコンテンツと新しいパターン ファセットを作成します。次に、この新しく作成された単純型を使用して、XmlSchemaDatatype.ParseValue を呼び出します。
正規表現の「方言」が異なるため、コメントでの提案に反対することをお勧めします。
私はそのようなことを認識していません。無料または別の方法で利用できます。私はそれができると確信していますが、自分で必要なときに実際に機能するものを見つけることはできませんでした. 見つけたら、共有してください。