2011-02-18 14 views
5

XSD मैं सिर्फ अपने एक्सएमएल क्षेत्र में प्रारूप YYYYMMDD की तारीख को स्वीकार करना चाहते का उपयोग करना .. तो मैं कैसे कर सकता है किXS का उपयोग करना: तारीख मैं प्रारूप YYYYMMDD में तारीख चाहते

मैंने यह एक उदाहरण में देखा यह काम करेगा ??

+6

xs: दिनांक YYYY-MM-DD के रूप में होगा। एक्सएमएल में डेट की तारीख का प्रारूप क्यों है? आपके ऐप को इसे आवश्यक प्रारूप में बदलने का ख्याल रखना चाहिए। – asgs

उत्तर

9

एक्सएमएल स्कीमा definesdateTime कुछ अपवादों के साथ ISO8601 के रूप में और आपको इसके साथ रहना चाहिए, अन्यथा आपको गंभीर इंटरऑपरेबिलिटी समस्याएं मिलेंगी। आप भेजना चाहते हैं/विभिन्न प्रारूप का उपयोग तिथि प्राप्त करते हैं, नियमित अभिव्यक्ति प्रतिबंध के साथ simpleType का उपयोग करें और पार्स/आपके आवेदन कोड में दिनांक स्वरूप:

<xs:simpleType name="CustomDate"> 
    <xs:restriction base="xs:string"> 
     <xs:pattern value="\d{8}"/> 
    </xs:restriction> 
</xs:simpleType> 

आप वास्तव में गड़बड़ करने के लिए चारों ओर के साथ चाहते हैं में निर्मित प्रकार (अत्यधिक अव्यवस्थित), आपके एक्सएमएल फ्रेमवर्क/लाइब्रेरी के लिए इसके लिए कुछ समर्थन हो सकता है। उदाहरण के लिए जावा/जेएक्सबी में आप किसी भी प्रकार के कस्टम ट्रांसफार्मर/फॉर्मेटर्स को लागू कर सकते हैं, ताकि क्लाइंट/सर्वर कोड में आप अभी भी Date ऑब्जेक्ट (8-अंक String नहीं) का उपयोग कर रहे हैं, लेकिन यह आपके कस्टम दिनचर्या का उपयोग करके marshalled/unmarshalled है।

+0

\t \t \t \t \t \t \t \t \t \t \t \t \t यह सही है ?? लेबल कस्टमडेट अनिवार्य –

+0

नहीं है, आप तत्व पर 'टाइप'' और नेस्टेड 'सरल टाइप' दोनों का उपयोग नहीं कर सकते हैं। केवल उपयोग करें: ... और तारों के साथ रहते हैं। –

+1

मेरे पास एक वैध मामला है जहां दिनांक प्रारूप को वाईवायवाई [एमएम [डीडी [एचएच [मिमी [एसएस]]]]] के रूप में स्वास्थ्य देखभाल मानक द्वारा परिभाषित किया गया है। समस्या यह है कि एक्सएसएलटी उस प्रारूप का समर्थन नहीं करता है, और दस्तावेज़ xs को संशोधित करता है: दिनांक प्रश्न बाहर है। –

संबंधित मुद्दे