Espacio de nombres xml en blanco en nodos secundarios en SQL Server
Hola, necesito ayuda con lo siguiente en sql:
Necesito crear un archivo xml en este formato
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:001.002.001.04">
<FIToFIPmtStsRpt>
<GrpHdr>
<MsgId></MsgId>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId />
</OrgnlGrpInfAndSts>
</FIToFIPmtStsRpt>
</document>
en este momento tengo una variable que contiene la información principal y construyo la información intermedia (supongamos que grphdr se puede insertar varias veces en el xml principal, con información diferente)
declare @xml xml='<Document
xmlns="urn:iso:std:iso:20022:tech:xsd:001.002.001.04">
<FIToFIPmtStsRpt>
</FIToFIPmtStsRpt>
</Document>
'
declare @xmlgrp xml='<GrpHdr>
<MsgId></MsgId>
</GrpHdr>'
--here i do some code to fill msgid
luego, cuando agrego el grphdr nuevamente al xml principal
SET @xml.modify
('declare namespace a= "urn:iso:std:iso:20022:tech:xsd:001.002.001.04";
insert sql:variable("@xmlgrp")
into (a:Document/a:FIToFIPmtStsRpt)[1]')
select @xml
Necesito sacar el formato de archivo superior, pero lo que sucede ahora es que se da lo siguiente
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:001.002.001.04">
<FIToFIPmtStsRpt>
<GrpHdr xmlns="">-- i need this xmlns tag out
<MsgId />
</GrpHdr>
</FIToFIPmtStsRpt>
</Document>
de alguna manera necesito la etiqueta xmlns vacía del xml. No puedo convertir a varchar (max) para eliminar ya que nuestro db ha limitado la variable a 8000 caracteres y mi xml puede crecer a más de 8000. Puede haber múltiples grphdr u OrgnlGrpInfAndSts en 1 archivo
table: lim_Live_Inbound
lim_msg_id | lim_request_transaction_id | client_name
------------------------------------------------------
021/00210006/20160225/000002 | 00012016-02-25000000023 | Mr Piet
021/00210006/20160225/000002 | 00012016-02-25000000022 | Mrs Name
debe generar así
<Document xmlns="urn:iso:std:iso:20022:tech:xsd:001.002.001.04">
<FIToFIPmtStsRpt>
<GrpHdr>
<MsgId>021/00210006/20160225/000002</MsgId>
</GrpHdr>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>00012016-02-25000000023</OrgnlMsgId>
<name>Mr Piet</name>
</OrgnlGrpInfAndSts>
<OrgnlGrpInfAndSts>
<OrgnlMsgId>00012016-02-25000000022</OrgnlMsgId>
<name>Mrs Name</name>
</OrgnlGrpInfAndSts>
</FIToFIPmtStsRpt>
</document>
Es por eso que estoy tratando de insertar en forma xml. Si alguien me puede ayudar con una mejor manera, sería muy apreciado.