XML Şeması anyAttribute elementi
tanımlama ve kullanım
anyAttribute elementi, yaratıcıların schema tarafından tanımlanmamış özellikler aracılığıyla XML belgesini genişletmesini sağlar.
element bilgisi
proje | açıklama |
---|---|
çıkış sıklığı | sınırsız |
önceki element | complexType, restriction (simpleContent), extension (simpleContent), restriction (complexContent), extension (complexContent), attributeGroup |
içerik | annotation |
gramer
<anyAttribute id=ID namespace=namespace processContents=lax|skip|strict herhangi bir özellik > (yorum?) </anyAttribute>
(? İşareti, bu elementin anyAttribute elementi içinde sıfır veya bir kez ortaya çıkabileceğini belirtir.)
Özellikler
id
Opsiyonel. Bu elementin benzersiz ID'sini belirler.
namespace
Opsiyonel. Kullanılabilir elementlerin adlandırma alanını belirler. Adlandırma alanı belirtilmemişse, varsayılan olarak ##any olur. Adlandırma alanı belirtilmişse, aşağıdaki değerlerden biri olmalıdır:
- ##any - Herhangi bir adlandırma alanından gelen elementler ortaya çıkabilir (varsayılan).
- ##other - Bu elementin ebeveyn elementinin hedef adlandırma alanı dışındaki herhangi bir adlandırma alanından gelen elementler ortaya çıkabilir.
- ##local - Adlandırma alanına sahip olmayan elementler ortaya çıkabilir.
- ##targetNamespace - Bu elementi içeren ebeveyn elementinin hedef adlandırma alanından gelen elementler ortaya çıkabilir.
- {Adlandırma alanı URI referanslarının listesi, ##targetNamespace, ##local} - Boşluklarla ayrılmış adlandırma alanı listesinden gelen elementler ortaya çıkabilir. Bu liste aşağıdaki içerikleri içerebilir: Adlandırma alanı ##targetNamespace ve ##local'in URI referansları.
processContents
Opsiyonel. Bir belirteç, uygulama veya XML işleyicisinin, bu any elementi tarafından belirlenen elementlere göre XML belgesinin doğrulamasını nasıl yapacağını gösterir. processContents özelliği belirtilmemişse, varsayılan olarak strict olur. processContents belirtilmişse, aşağıdaki değerlerden biri olmalıdır:
- strict - XML işleyicisi, gerekli adlandırma alanının yapısını almak zorunda olmalıdır ve bu alanlardan gelen tüm elementleri doğrulamalıdır. (Varsayılan)
- lax - strict ile aynı; ancak, o yapıya ulaşamasa bile herhangi bir hata olmaz.
- skip - XML işleyicisi, belirlenen adlandırma alanından gelen tüm elementleri doğrulamak zorunda değildir.
herhangi bir özellik
Opsiyonel. non-schema adlandırma alanına sahip herhangi bir diğer özelliği belirler.
Örnek
Aşağıdaki örnek, "person" elementi için bir açıklamanın nasıl yapıldığını gösterir. <anyAttribute> elementi kullanılarak, yaratıcı "person" elementine istediği kadar özellik ekleyebilir:
<xs:element name="person"> <xs:complexType> <xs:sequence> <xs:element name="firstname" type="xs:string"/> <xs:element name="lastname" type="xs:string"/> </xs:sequence> <xs:anyAttribute/> </xs:complexType> </xs:element>