2009-11-10 16 views
8

Aşağıdaki üçünün sözdizimsel olarak doğru olduğuna inanıyorum; ancak sözleşmelere göre (özellikle kuruluşta) izin verilir mi?xml-şemasında appinfo ek açıklamaları için kurallar?


aşağıda en örneklerde kullanılan ilki (örneğin JAXB) gördüğüm ben, ama ayrıntılı değil: Herhangi nitelikler <appinfo> izin verilir çünkü

<xs:annotation> 
    <xs:appinfo> 
    <myinfo>don't panic</myinfo> 
    </xs:appinfo> 
</xs:annotation> 

aşağıda Bu ikincisi izin verilir (xml şemasının kendi ad alanında değil). Daha kısa ve makul görünüyor - ama geleneksel mi?

Bu sonuncusu benim favorim, çünkü çok kısa ve şemayı karıştırmıyor. Eminim yasaldır, çünkü <appinfo> gibi, herhangi bir özniteliğe <annotation> (tekrar, xml olmayan şema adı verilen) izin verilir. Ancak, uygulama bilgisini <appinfo> kullanmadan kodlar, bu yüzden korkardım. Olurdu? Yorumlarınız için

<xs:annotation myinfo="don't panic"/> 

çok teşekkür ederiz!

cevap

3

Hiçbir şey duyduğunuzu sanmıyorum çünkü bu ek açıklamaların yaygın olarak kullanıldığını düşünmüyorum ve özelliklerin tamamı, kimsenin oraya yardımcı olacak herhangi bir şey koymasına izin vermektir.

Gördüğüm tek kural XHTML belgeleridir, elbette ki seçenekleriniz gibi görünmüyor.

Apache XmlSchema gibi işleyen kitaplıkların tüm seçeneklerinizi eşit olarak ele alıp almadığına bakabilirsiniz. <xs:appinfo> bir miktar "standart" kullanım