我有一个像这样的XML文件:
<myNode>
<myProperty name="Title" value="MyTitle" />
<myProperty name="ProductId" value="123456" />
</myNode>
是否可以编写XSD来验证第一个属性(“Title”)必须是字符串,第二个属性(“ProductId”)必须是整数?
答案 0 :(得分:0)
不,你不能用XSD做到这一点。看看http://www.schematron.com/是否可以为您提供帮助。
答案 1 :(得分:0)
不幸的是你不能这样做。 XML的XSD如下所示:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema
attributeFormDefault="unqualified"
elementFormDefault="qualified"
xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="myNode">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="myProperty">
<xs:complexType>
<xs:attribute name="name" type="xs:string" use="required" />
<xs:attribute name="value" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
要解决您的问题,您可以为以下XML创建XSD:
<myNode>
<Properties>
<Title value="MyTitle" />
<ProductId value="123456" />
</Properties>
</myNode>