XSD for XML-RPCメソッド呼び出しを持っている、または編集する方法を知っている人はいますか?
私はこれを見つけました:MSDNXmlRpcスキーマ
ただし、有効なXML-RPCケースは許可されません。オフに見えるビットは次のとおりです。
<xsd:complexType name="ValueType" mixed="true">
<xsd:choice>
<xsd:element name="i4" type="xsd:int" />
<xsd:element name="int" type="xsd:int" />
<xsd:element name="string" type="ASCIIString" />
<xsd:element name="double" type="xsd:decimal" />
<xsd:element name="Base64" type="xsd:base64Binary" />
<xsd:element name="boolean" type="NumericBoolean" />
<xsd:element name="dateTime.iso8601" type="xsd:dateTime" />
<xsd:element name="array" type="ArrayType" />
<xsd:element name="struct" type="StructType" />
</xsd:choice>
</xsd:complexType>
XML-RPC仕様によると、以下が有効です。
...
<value>example text</value>
....
type要素が指定されていない場合、要素内のテキスト<value>
はデフォルトで文字列になります。ただし、上記のxsdはそれを検証しません。
私はそれを次のように変更してみました:
<xsd:complexType mixed="true" name="ValueType">
<xsd:choice minOccurs="0" maxOccurs="1">
<xsd:element name="i4" type="xsd:int" />
<xsd:element name="int" type="xsd:int" />
<xsd:element name="string" type="ASCIIString" />
<xsd:element name="double" type="xsd:decimal" />
<xsd:element name="Base64" type="xsd:base64Binary" />
<xsd:element name="boolean" type="NumericBoolean" />
<xsd:element name="dateTime.iso8601" type="xsd:dateTime" />
<xsd:element name="array" type="ArrayType" />
<xsd:element name="struct" type="StructType" />
</xsd:choice>
</xsd:complexType>
しかし、それは可能です:<value>testtext<string>with more text</string></value>
これは仕様によれば有効ではないはずです。
Value要素にデータまたは要素のいずれかを含めることができるようにするのに問題がありますが、2つの要素の混合はできません。
誰かが上記を修正する方法を知っているか、彼らが提供できる動作するxsdを持っているなら、誰でも本当に感謝するでしょう。