अपने सत्यापनकर्ता XSD 1.1 का समर्थन करता है, तो आप XS उपयोग कर सकते हैं: इस तरह कुछ विशेषता मान अस्वीकार करने के लिए जोर:
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:vc="http://www.w3.org/2007/XMLSchema-versioning"
elementFormDefault="qualified"
attributeFormDefault="unqualified"
vc:minVersion="1.1">
<xs:element name="Transactions">
<xs:complexType>
<xs:sequence>
<xs:element name="Transaction" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="OrderID" type="xs:integer"/>
<xs:assert test="empty(index-of((8,9,10),@OrderID))"/>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
यह चाहिए अपने दूसरे प्रश्न का उत्तर दें।
आपके पहले प्रश्न के लिए, मुझे नहीं लगता कि ऑर्डर सत्यापन संभव है। हालांकि, आप XML दस्तावेज़ को सॉर्ट करने के लिए XSLT का उपयोग कर सकते हैं।
----- पहला सवाल -----
धन्यवाद, माइकल Kay का जवाब गयी। खैर ... यहां आपके पहले प्रश्न का उत्तर है।
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Transactions">
<xs:complexType>
<xs:sequence>
<xs:element name="Transaction" maxOccurs="unbounded">
<xs:complexType mixed="true">
<xs:attribute name="OrderID" type="xs:integer"/>
<xs:assert test="empty(index-of((8,9,10),@OrderID))"/>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:assert test="every $x in Transaction satisfies
(empty($x/preceding-sibling::*) or
($x/@OrderID gt $x/preceding-sibling::*[1]/@OrderID))"/>
</xs:complexType>
</xs:element>
</xs:schema>
स्रोत
2014-09-23 05:36:06
हां, ऑर्डर सत्यापन संभव है। उदाहरण के लिए ' ' –
धन्यवाद चोंग लिप फांग। ईमानदारी से, मैं यह जानने के लिए पर्याप्त रूप से आपके उत्तर को समझ नहीं पा रहा हूं कि यह मेरी समस्या हल करता है या नहीं। जब आपने संभवत: 8, 9, 10 ऑर्डर आईडी के विशिष्ट मानों को संदर्भित करता है? जिस फाइल पर मैं काम कर रहा हूं उसके बारे में 30 के लेन-देन हैं। मेरे लिए काम करने वाली कोई भी विधि ऑर्डर आईडी के विशिष्ट मानों के संदर्भ के बिना काम करने की आवश्यकता होगी। दूसरा
Selecter
हां, ऑर्डर आईडी का मान 8,9 या 10 होने पर सत्यापन विफल हो जाएगा। एक्सएमएल डेटा बहुत है, तो आपको शायद एक विशिष्ट पैटर्न से मेल खाने के लिए एक नियम की आवश्यकता है। यदि आप इस दावे नियम को छोड़ देते हैं और ऑर्डर आईडी 8,9 या 10. –