我有一个带有元素的XSD \ schema(如下所示)。该元素应具有CSV或XML数据。我不确定要使用什么expectedContentTypes。我可以想到以下但不确定:
文本/ *
* / *
<xs:element name="Data" type="xs:base64Binary" xmime:expectedContentTypes="text/*"/>
还是有其他方法吗?喜欢
“文本/ CSV;文本/ xml” 的
答案 0 :(得分:1)
严格地说,您的元素数据类型应该来自xmime:base64Binary。 text/*
是正确的,或者text/csv,text/xml
- 应该使用逗号。
但是,为什么在发送文本时进行二进制编码?需要考虑的一件事是消息的大小,使用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或两者。如果您不想要两者,那么有一些技巧可以确保更强大的数据输入。