Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőkre vonatkozik:SQL Server
Azure SQL Database
Felügyelt Azure SQL-példány
SQL-adatbázis a Microsoft Fabricben
A helyettesítő karaktereket tartalmazó összetevőkkel nagyobb rugalmasságot lehet biztosítani a tartalommodellekben való megjelenéshez. Ezeket az összetevőket az XSD nyelv a következő módokon támogatja:
Elem helyettesítő karaktereinek összetevői. Ezeket az
<xsd:any>elem jelöli.Attribútum helyettesítő karakterek összetevői. Ezeket az
<xsd:anyAttribute>elem jelöli.
Mindkét helyettesítő karakterelem, a <xsd:any> és a <xsd:anyAttribute>, támogatja a processContents attribútum használatát. Ez lehetővé teszi egy érték megadását, amely jelzi, hogy az XML-alkalmazások hogyan kezelik a helyettesítő karakterelemekhez társított dokumentumtartalom érvényesítését. Ezek a különböző értékek és azok hatása:
A szigorú érték azt határozza meg, hogy a tartalom teljes mértékben érvényes.
A átlépés értéke azt határozza meg, hogy a tartalom nem kerül érvényesítésre.
A hasábérték azt határozza meg, hogy csak azok az elemek és attribútumok legyenek érvényesítve, amelyekhez sémadefiníciók érhetők el.
Enyhe érvényesítés és xs:anyType elemek
Az XML-séma specifikációja lax érvényesítést használ az anyType típusú elemekhez. Mivel az SQL Server 2005 (9.x) nem támogatta a laza érvényesítést, a rendszer szigorú ellenőrzést alkalmazott az anyType elemeire. Az SQL Server 2008-tól kezdve (10.0.x) támogatott a laza érvényesítés. Az anyType típusú elemek tartalma lax-ellenőrzéssel lesz érvényesítve.
Az alábbi példa a laza érvényesítést szemlélteti. A sémaelem ebármilyenType típusú. A példa típusos XML-változókat hoz létre, és bemutatja az anyType típus elemének laza érvényesítését.
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
Az alábbi példa sikeres, mert az ellenőrzés <e> sikeres:
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>1</a><b>data</b></e>';
GO
Az alábbi példa sikeres. A példányt akkor is elfogadja a rendszer, ha a sémában nincs <c> elem definiálva:
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>1</a><c>Wrong</c><b>data</b></e>';
GO
A következő példában szereplő XML-példányt a rendszer elutasítja, mert az elem definíciója nem engedélyezi a <a> sztringértékeket.
DECLARE @var XML(SC);
SET @var = '<e xmlns="http://ns"><a>Wrong</a><b>data</b></e>';
SELECT @var;
GO