我有一个 XSD 文件,用于验证客户端提交的 XML,他们可以提交的字段之一是xs:base64Binary
类型,并且应该是 jpg 或 gif 图像。经常会提交不想要的类型(.PNG、.TGA、.PSD)或非常大(每个大于 10MB)的图像
我尝试过限制内容的长度,但是每次我尝试将元素的内容类型切换为complexContent
并添加限制时,xsd 文件都无法通过验证,因为xs:base64Binary
它是 simpletype
元素非常简单
<xs:element name="itemimage">
<xs:annotation>
<xs:documentation>Item picture in jpeg or gif format</xs:documentation>
</xs:annotation>
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:base64Binary">
<xs:attribute name="imgdescription" type="xs:string" use="optional"/>
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
`
是否可以根据图像的长度或通过将前几个字节与 base64 gif 或 jpeg 图像匹配的模式进行限制?