2012-03-30 8 views
0

要素があるXSD \スキーマがあります(下記参照)。この要素には、CSVまたはXMLデータのいずれかが含まれている必要があります。私はexpectedContentTypesが何を使うのかよくわかりません。XSDスキーマ:expectedContentTypesで複数のxmimeを使用する

テキスト/ *

*/*

<xs:element name="Data" type="xs:base64Binary" xmime:expectedContentTypes="text/*"/> 

または他の方法があります:私は従うがわからないと考えることができますか?以下のような

"テキスト/ CSV; text/xmlで"

答えて

1

は厳密に言えば、あなたの要素のデータ型がxmimeから派生する必要があります:base64Binaryの。 text/*が正しいか、またはtext/csv,text/xml - コンマを代わりに使用する必要があります。

ただし、テキストを出荷するときにバイナリエンコーディングを使用する理由は何ですか?考慮すべきことの1つは、メッセージのサイズです。結果をbase64でエンコードすると、約30%のオーバーヘッドが登録されます。

あなたはこのXSDを考えがあります:

<?xml version="1.0" encoding="utf-8" ?> 
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)--> 
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema"> 
    <xsd:element name="Data"> 
     <xsd:complexType mixed="true"> 
      <xsd:sequence> 
       <xsd:any minOccurs="0" maxOccurs="unbounded" namespace="##any" processContents="skip"/> 
      </xsd:sequence> 
     </xsd:complexType> 
    </xsd:element> 
</xsd:schema> 

以下の任意のXMLが均等に動作します。 XML:

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) --> 
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns="http://tempuri.org/XMLSchema.xsd"> 
    <something></something> 
</Data> 

CSV:つまり

<?xml version="1.0" encoding="utf-8" standalone="yes"?> 
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) --> 
<Data xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:xmime="http://www.w3.org/2005/05/xmlmime" xmlns="http://tempuri.org/XMLSchema.xsd"> 
    A,B,B 
    1,2,3 
</Data> 

、あなたはXML、CSV、またはその両方を持つことができます。両方を必要としない場合は、より強力なデータ型を確実にするためのトリックがあります。