基本的に、特定の XSD スキーマを正規表現で置き換えることができるかどうかを知りたいです。XML スキーマ言語は、有効な XML インスタンスのセットが任意のタイプの言語 (コンテキスト依存であっても) である XSD を生成できることを知っています。「正規表現と同等」のスキーマを特定したいと思います。次の問題に取り組んだ後、この質問を思いつきました。
特定のテキスト形式を解析する必要があり、最初に正規表現を試してみたところ、正規表現で十分に解析できることがわかりました。次に、この形式で受信したメッセージの XML 表現を作成したかったので、正規表現グループを XML 要素にマップしました。次に、正規表現の構造に基づいて XSD スキーマを手動で作成しました。最終的に、スキーマから元の正規表現を構築できるという意味で、正規表現を置き換えることができるスキーマができました。逆のこともできました。正規表現からスキーマを自動的に作成します。そのため、メッセージを XML に変換し、同時に検証することができました。私の質問は次のとおりです。
すべての正規表現を XSD スキーマで表現できますか? (つまり、XSD スキーマを生成できる正規表現が与えられた場合)
任意の XSD スキーマが与えられた場合、与えられたスキーマを表現する正規表現があるかどうかを判断する方法はありますか?
編集:おそらく最初の質問への答えはイエスです。なぜなら、特定の正規表現に依存しない方法で正規表現を使用したからです(これはすべての正規表現の証明ではありません)。