@newLinks
に挿入しようとして@links
いますが、次のSQLでプレフィックス「xsi」を宣言する方法がわかりません。
declare @links xml
set @links = N'<Links/>';
declare @newLinks xml
set @newLinks = N'
<Link xsi:type="CustomLink">
<Name>Foo</Name>
</Link>
<Link xsi:type="CustomLink">
<Name>Bar</Name>
</Link>';
set @links.modify('
insert sql:variable("@newLinks")
into (/Links)[1]');
select @links;
上記のSQLを実行すると、次のエラーが発生します。
XML parsing: line 2, character 28, undeclared prefix
私は運が悪かったので次のことを試しました:
set @links.modify('
declare namespace xsi="http://www.w3.org/2001/XMLSchema-instance";
insert sql:variable("@newLinks")
into (/Links)[1]');