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
Miután importált egy XML-sémagyűjteményt CREATE XML SCHEMA COLLECTIONhasználatával, a sémaösszetevők a metaadatokban lesznek tárolva. A xml_schema_namespace belső függvény használatával rekonstruálhatja az XML-sémagyűjteményt. Ez a függvény egy xml- adattípus-példányt ad vissza.
Az alábbi lekérdezés például egy XML-sémagyűjteményt (ProductDescriptionSchemaCollection) kér le a AdventureWorks2025 adatbázis éles relációs sémájából.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection');
GO
Ha csak egy sémát szeretne látni az XML-sémagyűjteményből, megadhatja az XQueryt a által visszaadott xml_schema_namespace típusú eredmény alapján.
SELECT xml_schema_namespace(N'RelationalSchemaName',N'XmlSchemaCollectionName').query('
/xs:schema[@targetNamespace="TargetNameSpace"]
');
GO
Az alábbi lekérdezés például lekéri a termékszavatossági és karbantartási XML-sémaadatokat a ProductDescriptionSchemaCollection XML-sémagyűjteményből.
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection').query('
/xs:schema[@targetNamespace="https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain"]
');
GO
Az opcionális célnévteret harmadik paraméterként is átadhatja a xml_schema_namespace függvénynek, hogy lekérje az adott sémát a gyűjteményből, ahogyan az az alábbi lekérdezésben látható:
SELECT xml_schema_namespace(N'Production',N'ProductDescriptionSchemaCollection', N'https://schemas.microsoft.com/sqlserver/2004/07/adventure-works/ProductModelWarrAndMain');
GO
Ha XML-sémagyűjteményt hoz létre a CREATE XML SCHEMA COLLECTION használatával az adatbázisban, az utasítás a sémaösszetevőket a metaadatokban tárolja. Csak az SQL Server által megismert sémaösszetevők vannak tárolva. A megjegyzések, széljegyzetek és nem XSD-attribútumok nincsenek tárolva. Ezért a xml_schema_namespace által rekonstruált séma funkcionálisan egyenértékű az eredeti sémával, de nem feltétlenül ugyanúgy fog kinézni. Például nem fogja látni ugyanazokat az előtagokat, mint az eredeti sémában. A xml_schema_namespace által visszaadott séma a célnévtér előtagjaként a t használja, és a többi névtér esetében a ns1, ns2stb.
Ha meg szeretné őrizni az XML-sémák azonos másolatát, mentse az XML-sémát egy fájlba vagy egy adatbázistáblába egy xml típusú oszlopba.
A sys.xml_schema_collections katalógusnézet az XML-sémagyűjteményekkel kapcsolatos információkat is visszaadja. Ezek az információk tartalmazzák a gyűjtemény nevét, a létrehozás dátumát és a gyűjtemény tulajdonosát.