XML-RPC 메서드 호출을 위해 XSD를 가지고 있거나 편집하는 방법을 알고있는 사람이 있습니까? XML-RPC 스키마 .xsd
나는 발견이 하나 유효한 XML-RPC의 경우 허용 나던 그러나 MSDN Xml Rpc Schema. 오프듯한 비트이다
<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>
는 the XML-RPC spec에 따르면, 다음의 유효 없음 형 소자가 제공되지 않은 경우
...
<value>example text</value>
....
는 <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 요소에 데이터 OR 요소가 포함될 수 있지만 두 요소가 혼합되어 있지 않도록 만드는 데 문제가 있습니다.
누구든지 위의 문제를 해결하는 방법을 알고 있거나 제공 할 수있는 xsd가 있다면 정말 감사 할 것입니다.
아 나는 xsd에 대한 지식이 부족하고 실패한 시도로 대머리가 된 것을 지적 해 주셔서 감사합니다. 내가 RELAXng 스키마를 사용하도록 전환했는데 필요한 모든 작업을 수행하는 것 같습니다. 감사 – DJOodle