Joker karakter bileşenleri ve içerik doğrulama

Joker karakter bileşenleri, bir içerik modelinde görüntülenmesine izin esneklik artırmak için kullanılır.Bu bileşenler, XSD dilde aşağıdaki yollarla desteklenir:

  • Öğe joker bileşenleri.Bu temsil <xsd: herhangi> Öğe.

  • öznitelik joker bileşenleri.Bu temsil <xsd:anyAttribute> Öğe.

Her iki joker karakter öğeleri <xsd: herhangi> ve <xsd:anyAttribute>, kullanımını destekleyen bir processContents özniteliği.Bu XML uygulamalar, bu joker karakter öğelerle ilişkili belge içeriği doğrulanmasını nasıl tanıtıcı gösteren bir değeri belirtmenize olanak verir.Etkilerini ve farklı değerler şunlardır:

  • The strict value specifies that the contents are fully validated.

  • The skip value specifies that the contents are not validated.

  • The lax value specifies that only elements and attributes for which schema definitions are available are validated.

Ondan doğrulama ve xs:anyType öğeler

XML şeması belirtimini kullanır. ondan öğelerinin doğrulamasıanyType türü.Çünkü SQL Server 2005 ondan doğrulama destekler, öğeler için sıkı doğrulama uygulandığı anyType.Ile başlayan SQL Server 2008, ondan doğrulama destekleniyor. Türündeki öğelerin içeriği anyType ondan doğrulama kullanılarak doğrulanır.

Aşağıdaki örnek, ondan doğrulama gösterir.Şema öğesi e ilerisindedir anyType türü.Örnek yazılı oluşturur XML değişkenleri ve ondan doğrulama öğesinin gösterir.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ğrulanma <e> başarılı:

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.Örneğin, hiçbir öğe bile olsa da kabul edilir <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 örnekte XML örnek, çünkü reddedilir tanımını <a> öğe bir dize değeri izin vermiyor.

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