2011-02-18 18 views

cevap

9

XML şeması bazı istisnalar dışında ISO8601 olarak definesdateTime ve aksi takdirde ciddi birlikte çalışabilirlik sorunları alacak, bununla bağlı kalmalıdırlar. Eğer göndermek istiyorsanız/uygulama kodunuzda tarihi biçimlendirmek/farklı biçimini kullanarak tarihi almayı düzenli ifade kısıtlama simpleType kullanmak ve ayrıştırmak:

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

Eğer gerçekten etrafında karışıklık istiyorsanız yerleşik türleri (son derece tavsiye edilmez), XML çerçeveniz/kitaplığınız bunun için biraz destek alabilir. Örneğin, Java/JAXB'de herhangi bir türe özel transformatörler/biçimlendiriciler uygulayabilirsiniz, böylece istemci/sunucu kodunda hala Date nesnesini kullanıyorsunuz (8 basamaklı String değil), ancak özel yordamınızı kullanarak marshalled/unmarshalled.

+0

\t \t \t \t \t \t \t \t \t \t \t \t \t Bu doğru ?? CustomDate zorunlu –

+0

Hayır etiketidir, hem 'type' öğesinde hem de 'simpleType' için yuvalanmış kullanamazsınız. Yalnızca kullan: ... ve dizelerle yaşa. –

+1

Tarih formatının YYYY [AA [DD [ss [ss]]]]] olarak sağlık standardı tarafından tanımlandığı meşru bir durum var. Sorun XSLT bu formatı desteklemiyor ve xs dosyasını değiştiriyor: tarih sorusu yok. –