Share via


Joker bileşenleri ve içerik doğrulama

Joker bileşenleri, ne bir içerik modelinde görünmesini izin esnekliği artırmak için kullanılır. Bu bileşenler aşağıdaki şekillerde xsd dili desteklenmektedir:

  • Öğe Joker bileşenleri. Bunlar tarafından temsil edilen <xsd: herhangi bir > öğesi.

  • Öznitelik joker bileşenleri. Bunlar tarafından temsil edilen <xsd:anyAttribute > öğesi.

Her iki joker karakter elemanları, <xsd: herhangi bir > ve <xsd:anyAttribute>, kullanımını destekleyen bir processContents özniteliği. Bu nasıl bu joker karakter öğelerle ilişkili belge içerik doğrulama xml uygulamaları ele gösteren bir değeri belirlemenizi sağlar. Bu, onların etkisi ve farklı değerler şunlardır:

  • Kesin değerini belirtir içeriği tam olarak doğrulanır.

  • Atla değerini belirtir içeriği değil doğrulanır.

  • Lax değeri, yalnızca öğeleri ve öznitelikleri için hangi şema tanımlarını kullanılabilir doğrulanan belirtir.

LAX doğrulama ve xs: anyType öğeleri

xml şeması belirtimini kullanan lax doğrulama öğeleri için anyType türü. Çünkü SQL Server 2005lax doğrulama destek vermedi, sıkı doğrulama uygulanmış öğeleri için anyType. İle başlayan SQL Server 2008, lax doğrulama desteklenir. İçerik türü öğeleri anyType lax doğrulama kullanılarak doğrulanır.

Aşağıdaki örnekte, lax doğrulama gösterilmektedir. Şema öğesi eolan anyType türü. Yazılan örnek oluşturur xml değişkenleri ve lax doğrulama öğesinin göstermektedir anyType türü.

CREATE XML SCHEMA COLLECTION SC AS '
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://ns">
   <element name="e" type="anyType"/>
   <element name="a" type="byte"/>
   <element name="b" type="string"/>
 </schema>'
GO

Aşağıdaki örnek başarılı, çünkü doğrulama <e>başarılı olur:

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>1</a><b>data</b></e>'
GO

Aşağıdaki örnek başarılı olur. Örnek olsa bile hiçbir öğe kabul <c>şemada tanımlanır:

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>1</a><c>Wrong</c><b>data</b></e>'
GO

Aşağıdaki örnek xml örneği, çünkü reddedilir tanımını <a>öğesinin değeri izin vermez.

DECLARE @var XML(SC)
SET @var = '<e xmlns="http://ns"><a>Wrong</a><b>data</b></e>'
SELECT @var
GO

Ayrıca bkz.

Başvuru

Gereksinimleri ve xml şema koleksiyonları sunucu üzerindeki kısıtlamaları