2012-03-30 4 views
0

Ich habe ein XSD \ Schema mit einem Element (wie unten gezeigt). Es wird erwartet, dass dieses Element entweder CSV- oder XML-Daten enthält. Ich bin mir nicht sicher, welche contentContentTypes verwendet werden sollen. Ich kann mir die folgenden, aber nicht sicher:XSD-Schema: mehrere xmime mit expectedContentTypes verwenden

text/*

*/*

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

oder gibt es eine andere Art und Weise? wie

"text/csv; text/xml"

Antwort

1

Genau genommen sollte Ihr Element Datentyp wurde von xmime ableiten: base64Binary. text/* ist korrekt, oder text/csv,text/xml - stattdessen sollte ein Komma verwendet werden.

Warum binäre Codierung, wenn Sie Text versenden? Eine Sache, die Sie beachten sollten, ist die Größe der Nachricht. Bei der base64-Codierung wird Ihr Ergebnis etwa 30% Overhead registrieren.

Haben Sie das XSD betrachtet:

<?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> 

Jede XML unten funktioniert gleichermaßen; 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> 

Mit anderen Worten, können Sie die XML haben, die CSV-oder beides. Wenn Sie nicht beide wollen, gibt es Tricks, um eine stärkere Dateneingabe zu gewährleisten.