Aşağıda bir XSD belge parçası var. Bir XML dosyası bu şemaya göre doğrulandığında, mm:Depot
ve mm:Customer/mm:County
'daki değerin aynı olmasını ve Location
türündeki öğelerle sınırlı olmasını sağlamak istiyorum.XML Şeması'nda <assert>'a bir alternatif var
Bu, XML Şeması 1.1'de <assert>
etiketini kullanarak yapılabilir, ancak XML Şeması 1.0'a karşı doğrulama yapmam gerekir. Bu çalışmayı 1.0'da yapmak için bazı numaralar var mı? Ne elde etmek istiyorum böyle bir şeydir
<xsd:element name="DeliveryOrder" type="OrderDetails" />
<xsd:complexType name="OrderDetails">
<xsd:sequence>
<xsd:element name="Depot" type="mm:Location" />
<xsd:element name="Customer" type="mm:Customer" maxOccurs="1" minOccurs="1" />
</xsd:sequence>
</xsd:complexType>
<xsd:simpleType name="Location">
<xsd:restriction base="xsd:string">
<xsd:enumeration value="OverHere" />
<xsd:enumeration value="OverThere" />
</xsd:restriction>
</xsd:simpleType>
<xsd:complexType name="Customer">
<xsd:sequence>
<xsd:element name="firstname" type="string" />
<xsd:element name="surname" type="string" />
<xsd:element name="County" type="mm:Location" />
</xsd:sequence>
</xsd:complexType>
...
<?xml version="1.0" encoding="UTF-8"?>
<mm:DeliveryOrder xmlns:mm="http://myNamespace/DeliveryOrderSchema" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://myNamespace/DeliveryOrderSchema DeliveryOrder.xsd ">
<mm:Depot>OverThere</mm:Depot>
<mm:Customer>
<mm:firstname>Jane</mm:firstname>
<mm:surname>Doe</mm:surname>
<mm:County>OverThere</mm:County>
</mm:Customer>
</mm:DeliveryOrder>
Not değeri OverThere
iki kez görünür.