渡されたコードの一部によって生成されたXMLのXMLスキーマを作成しようとしています。問題の簡略版について説明します。このコードによって生成されたXMLファイルがテキストドキュメントを記述しているとしましょう。次のようになります。
<document>
<r1>A line of text</r1>
<r2 style="bold">Another line which is bold</r2>
<r3>Yet another line</r3>
</document>
等々。最良の設計ではありません。行番号が属性である方がよいと思いますが、それを処理する必要があります。そして、それは問題である行番号を表しています。要素名に正規表現(または同様のもの)を指定できるスキーマを作成する方法はありますか?XSDファイルは次のようになると思います。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
targetNamespace="http://www.example.org/SimpleSchema"
xmlns:tns="http://www.example.org/SimpleSchema"
elementFormDefault="qualified">
<xs:element name="document">
<xs:complexType>
<xs:sequence>
<xs:element name="rX" minOccurs="1" maxOccurs="unbounded">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="style" type="xs:string" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
...ここで、9行目の「rX」は、「rで始まりXで終わる名前(整数)」を意味するために必要な式です。
生成するコードを自分で修正する必要はないので、最初に適切なXMLスキーマを作成できるかどうかを確認したいと思います。みなさん、よろしくお願いします。