XML Data Wijzigingstaal (XML DML)

van toepassing op:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL-database in Microsoft Fabric

De XML Data Modification Language (XML DML) is een uitbreiding van de XQuery-taal. Zoals gedefinieerd door W3C, mist de XQuery-taal het Data Manipulation (DML)-gedeelte. De XML DML die in dit onderwerp wordt geïntroduceerd, evenals de XQuery-taal, bieden een volledig functionele query- en data-modificatietaal die je kunt gebruiken tegen het xml-datatype .

De XML DML voegt de volgende hoofdlettergevoelige trefwoorden toe aan XQuery:

  • invoegen

  • delete

  • vervang waarde van

Zoals beschreven in XML Data Type and Columns (SQL Server), kun je variabelen en kolommen van het xml-type maken en XML-documenten of fragmenten aan hen toewijzen. Om deze XML-instanties aan te passen of bij te werken, doe je het volgende:

Let op dat er enkele attributen zijn die niet kunnen worden ingevoegd, verwijderd of waarvan de waarde niet kan worden aangepast. Voorbeeld:

  • Voor getypeerde of ongetypeerde xml zijn de attributen xmlns, xmlns:* en xml:base.

  • Alleen voor getypeerde xml zijn de attributen xsi:nil en xsi:type.

Andere beperkingen zijn onder andere:

  • Voor getypte of niet-getypte xml zal het invoegen van het attribuut xml:base falen.

  • Voor getypte xml zal het verwijderen en wijzigen van het xsi:nil-attribuut falen. Voor ongetypte xml kun je het attribuut verwijderen of de waarde ervan wijzigen.

  • Voor getypeerde xml zal het wijzigen van de waarde van het xs:type-attribuut falen. Voor ongetypte xml kun je de attribuutwaarde aanpassen.

Wanneer je een getypeerde XML-instantie aanpast, moet het uiteindelijke formaat een geldige instantie van dat type zijn. Anders wordt een validatiefout teruggegeven.