C# uygulamasında, bir kullanıcı giriş XML dosyasını gömülü bir XSD'ye karşı doğrulayan bir yöntem var. Sadece iyi çalışır, ancak tüm alt öğelerin XSD'de tanımlanan sıraya göre olmasını gerektirir. Benim için olsa bile, emirler elementler var olduğu sürece önemli değildir. ÖrneğinXML'i XSD'ye karşı doğrulayın ve alt öğelerin sırasını dikkate almayın
, aşağıdaki XSD olsaydı ... Ben valide ise
<xs:element maxOccurs="unbounded" name="ParentElement">
<xs:complexType>
<xs:sequence>
<xs:element name="FirstChildElement" type="xs:string" />
<xs:element name="SecondChildElement" type="xs:string" />
<xs:element name="ThirdChildElement" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
Ve böyle bir XML
...<ParentElement>
<FirstChildElement>someValue</FirstChildElement>
<ThirdChildElement>someValue</ThirdChildElement>
<SecondChildElement>someValue</SecondChildElement>
</ParentElement>
Çünkü bir hata olacaktı alt öğeler sıra dışı.
XSD'de bir değişiklik yapabilir miyim, bu nedenle doğrulama yalnızca öğelerin varlığında ve doğru üst öğenin altında olduklarında umurunda değil, hangi sırada yer aldıklarını dikkate alır mı?
'a bir göz atın. Teşekkürler, cevap budur. Benim XSD benim için VS tarafından üretildi, bu yüzden her şey bir sekans etiketi altında çocuk öğeleri vardı. – Jim
Unutulmaması gereken nokta, x'lerin: hepsi sadece 1'den fazla bir MaxOccurs'u ve bundan daha fazlasını desteklemez. Ancak bu, hala beta aşamasında olan XSD 1.1 işlemcisinde kaldırıldı. – vanval
1.1'i hiç serbest bıraktılar mı? – ppumkin