It you want an alternative in memory update library Ryan Dew's has worked
great for me.

https://github.com/ryanjdew/XQuery-XML-Memory-Operations


On Thu, Nov 20, 2014 at 9:57 PM, Michael Blakeley <[email protected]> wrote:

> It can be dangerous to use fn:name in that context. Try fn:node-name
> instead.
>
> The fn:name function returns a string, which can do strange things
> depending on the namespace declarations in context. But fn:node-name
> returns a QName.
>
> Consider this code:
>
> declare namespace t="cat" ;
>
> let $a := <t:a/>
> return <environment xmlns:t="dog">
> {
>   element { name($a) } { () },
>   element { node-name($a) } { () }
> }
> </environment>/*
>
> =>
> <t:a xmlns:t="dog"/>
> <t:a xmlns:t="cat"/>
>
> Using fn:name ends up changing the namespace because the prefix changed.
> Using node-name preserves the original namespace.
>
> Another way to handle this sort of problem is to use the (deprecated)
> namespace axis.
>
> declare namespace t="cat" ;
>
> let $a := <t:a xmlns:b="goat"/>
> return <environment xmlns:t="dog">
> {
>   element { node-name($a) } {
>     $a/namespace::* }
> }
> </environment>/*
>
> =>
> <t:a xmlns:t="cat" xmlns:b="goat"/>
>
> This preserves the declaration for b=goat, even though it was never used.
>
> -- Mike
>
> > On 20 Nov 2014, at 20:48 , <[email protected]> <
> [email protected]> wrote:
> >
> > Hi Pragya,
> >
> > Long back ago i also faced similar issue with the in-mem-update library.
> After investigating i found a minor issue in the library.
> >
> >
> > It was due to this code snippet inside _process (..) method.
> >
> > element{ QName(namespace-uri($node), local-name($node)) }{ .......
> >
> >  .....
> > }
> >
> > This code snippet is twice (IF and ELSE block ) in the same method.
> Replace the above code snippet with below given code.
> >
> > element{fn:name($node)} {
> > .....
> >
> > }
> >
> >
> >
> >
> > Thanks,
> > Abhinav Kumar Mishra
> > From: [email protected] [
> [email protected]] on behalf of Kapoor, Pragya [
> [email protected]]
> > Sent: Friday, November 21, 2014 10:04 AM
> > To: MarkLogic Developer Discussion
> > Subject: [MarkLogic Dev General] Namespaces are getting removed
> >
> > Hi,
> >
> > I am using men:node* function to update in-memory xml.
> > The code is removing the namespaces of all elements of the in-memory xml.
> >
> > Code:
> > xquery version "1.0-ml";
> > import module namespace mem = "http://xqdev.com/in-mem-update";
> >     at  "/rest-apis/utils/mem.xqy";
> >
> > declare variable $transId := 'test';
> > let $amd :=  xdmp:invoke-function(
> >                             function() {
> >
>  (fn:doc('/processing/test/amdDocs/test.xml'))
> >                             } ,
> >                     <options xmlns="xdmp:eval">
> >                       <database>{xdmp:database("Ingestion")}</database>
> >                     </options>
> >                     )
> > let $doc := fn:doc('/docs/test.xml')
> >   let $elements := $amd//*[@ID]
> >    let $doc :=
> >    for $element in $elements
> >    let $docElements := $doc//*[@ID = $element/@ID]
> >     return
> >     if($element/@ID = $docElements/@ID) then
> >          (xdmp:set($doc,mem:node-replace($docElements, $element) ),
> >           $doc)
> >     else
> >       let $amdParent := $element/..
> >       let $docParent := $doc//*[@Code = $amdParent/@Code]
> >       return
> >     (xdmp:set($doc, mem:node-insert-child($docParent, $element)),
> >           $doc)
> >     let $validDocs :=  $doc[fn:last()]
> >    return $validDocs
> >
> >    Data:
> >    let $amd := <MAG:Document xmlns:NAV100PP="NAV100PP"
> xmlns:SE100="SE100" xmlns:CSD100CP="CSD100CP"
> > xmlns:CAR100CP="CAR100CP"
> > xmlns:PET100="PET100"
> > xmlns:IM100CP="IM100CP"
> > xmlns:OP100="OP100"
> > xmlns:OF100PP="OF100PP"
> > xmlns:VAL100CP="VAL100CP"
> > xmlns:MIC100="MIC100"
> > xmlns:CEM100="CEM100"
> > xmlns:TH100CP="TH100CP"
> > xmlns:MRA="MRA"
> > xmlns:ECOLL100PP="ECOLL100PP"
> > xmlns:NAV100CP="NAV100CP"
> > xmlns:AF100="AF100"
> > xmlns:AD100="AD100"
> > xmlns:EOD100-4="EOD100-4"
> > xmlns:AP100="AP100"
> > xmlns:OF100CP="OF100CP"
> > xmlns:THRW100PP="THRW100PP"
> > xmlns:EOD100-3="EOD100-3"
> > xmlns:CEM100PP="CEM100PP"
> > xmlns:TH100="TH100"
> > xmlns:OES100PP="OES100PP"
> > xmlns:MSLA="MSLA"
> > xmlns:ECOLL100CP="ECOLL100CP"
> > xmlns:IME100PP="IME100PP"
> > xmlns:AF100PP="AF100PP"
> > xmlns:AD100PP="AD100PP"
> > xmlns:AT100PP="AT100PP"
> > xmlns:HIC100="HIC100"
> > xmlns:TAX100PP="TAX100PP"
> > xmlns:ROC100="ROC100"
> > xmlns:SUB100PP="SUB100PP"
> > xmlns:THRW100CP="THRW100CP"
> > xmlns:IR101="IR101"
> > xmlns:CEM100CP="CEM100CP"
> > xmlns:SIN100="SIN100"
> > xmlns:OES100CP="OES100CP"
> > xmlns:IME100CP="IME100CP"
> > xmlns:AF100CP="AF100CP"
> > xmlns:AD100CP="AD100CP"
> > xmlns:AT100CP="AT100CP"
> > xmlns:ANX100-1="ANX100-1"
> > xmlns:TAX100CP="TAX100CP"
> > xmlns:ROC100PP="ROC100PP"
> > xmlns:SUB100CP="SUB100CP"
> > xmlns:CTT100="CTT100"
> > xmlns:ATE100="ATE100"
> > xmlns:DD100="DD100"
> > xmlns:CRC100PP="CRC100PP"
> > xmlns:IME100="IME100"
> > xmlns:AL100="AL100"
> > xmlns:PA100="PA100"
> > xmlns:ANX100-3="ANX100-3"
> > xmlns:TAX100="TAX100"
> > xmlns:ROC100CP="ROC100CP"
> > xmlns:CPRE100="CPRE100"
> > xmlns:OCTH100PP="OCTH100PP"
> > xmlns:AET100PP="AET100PP"
> > xmlns:DD100PP="DD100PP"
> > xmlns:DN100PP="DN100PP"
> > xmlns:CRC100CP="CRC100CP"
> > xmlns:KM100="KM100"
> > xmlns:AL100PP="AL100PP"
> > xmlns:PA100PP="PA100PP"
> > xmlns:EOD100-2="EOD100-2"
> > xmlns:FTH100PP="FTH100PP"
> > xmlns:REP100PP="REP100PP"
> > xmlns:CA100="CA100"
> > xmlns:SIO100PP="SIO100PP"
> > xmlns:OCTH100CP="OCTH100CP"
> > xmlns:CPRE100PP="CPRE100PP"
> > xmlns:AET100CP="AET100CP"
> > xmlns:DD100CP="DD100CP"
> > xmlns:DN100CP="DN100CP"
> > xmlns:UPC100="UPC100"
> > xmlns:KM100PP="KM100PP"
> > xmlns:AL100CP="AL100CP"
> > xmlns:PA100CP="PA100CP"
> > xmlns:EHP100PP="EHP100PP"
> > xmlns:TER100="TER100"
> > xmlns:FTH100CP="FTH100CP"
> > xmlns:REP100CP="REP100CP"
> > xmlns:ST100="ST100"
> > xmlns:SIO100CP="SIO100CP"
> > xmlns:CPRE100CP="CPRE100CP"
> > xmlns:RD100PP="RD100PP"
> > xmlns:PN100="PN100"
> > xmlns:KM100CP="KM100CP"
> > xmlns:NA100="NA100"
> > xmlns:MB100PP="MB100PP"
> > xmlns:EHP100CP="EHP100CP"
> > xmlns:TER100PP="TER100PP"
> > xmlns:REP100="REP100"
> > xmlns:CD100PP="CD100PP"
> > xmlns:MSFTA="MSFTA"
> > xmlns:ROU100PP="ROU100PP"
> > xmlns:RD100CP="RD100CP"
> > xmlns:GOV100="GOV100"
> > xmlns:CSD100="CSD100"
> > xmlns:CC100PP="CC100PP"
> > xmlns:NA100PP="NA100PP"
> > xmlns:MB100="MB100"
> > xmlns:FMT100PP="FMT100PP"
> > xmlns:TER100CP="TER100CP"
> > xmlns:AET100="AET100"
> > xmlns:CD100CP="CD100CP"
> > xmlns:DA100PP="DA100PP"
> > xmlns:GMRA="GMRA"
> > xmlns:ROU100CP="ROU100CP"
> > xmlns:RD100="RD100"
> > xmlns:SE100PP="SE100PP"
> > xmlns:ATE_A100="ATE_A100"
> > xmlns:CC100CP="CC100CP"
> > xmlns:NA100CP="NA100CP"
> > xmlns:MB100CP="MB100CP"
> > xmlns:ANX100-2="ANX100-2"
> > xmlns:FMT100CP="FMT100CP"
> > xmlns:TC100="TC100"
> > xmlns:CD100="CD100"
> > xmlns:DA100CP="DA100CP"
> > xmlns:NAV100="NAV100"
> > xmlns:SE100CP="SE100CP"
> > xmlns:CSD100PP="CSD100PP"
> > xmlns:CAR100PP="CAR100PP"
> > xmlns:IM100PP="IM100PP"
> > xmlns:CC100="CC100"
> > xmlns:MISC100="MISC100"
> > xmlns:OF100="OF100"
> > xmlns:VAL100PP="VAL100PP"
> > xmlns:TEM100="TEM100"
> > xmlns:OTP100="OTP100"
> > xmlns:TH100PP="TH100PP"
> > xmlns:MAG="ISDA">
> >  <MAG:MetaInfo>
> > <MAG:CollectionNo>4043</MAG:CollectionNo>
> > <!-- Amendment document -->
> > <MAG:DocumentType>AGRT-AMD-DOC</MAG:DocumentType>
> > <MAG:AgreementDate>2015-03-27</MAG:AgreementDate>
> > <MAG:DocumentState>BAU</MAG:DocumentState>
> > <MAG:PdfPageRange>24-32</MAG:PdfPageRange>
> >  </MAG:MetaInfo>
> >  <MAG:Body>
> > <MAG:PartiesMisc>
> > <CP100:PartyDetails xmlns:CP100="CP100" Code="CP100">
> >
> >   <CP100CP:Counterparties xmlns:CP100CP="CP100CP"  Code="CP100CP">
> > <CP100CP:Counterparty ID='123'>
> > <CP100CP:Name PageNo="3" LineNo="21">INNODATA  SERVICES,
> INC.</CP100CP:Name>
> > <CP100CP:Lei PageNo="3" LineNo="21">eeeee</CP100CP:Lei>
> > <CP100CP:EntityType PageNo="3"
> LineNo="21">CORPORATION</CP100CP:EntityType>
> > <CP100CP:JurisdictionOrganisation PageNo="3"
> LineNo="21">Florida</CP100CP:JurisdictionOrganisation>
> > <CP100CP:AgentName PageNo="3" LineNo="11">mmmmm</CP100CP:AgentName>
> > <CP100CP:PartyStatus PageNo="3"
> LineNo="21">Terminated</CP100CP:PartyStatus>
> > <CP100CP:DF2Questionnaire>
> > </CP100CP:DF2Questionnaire>
> > <CP100CP:EMIRQuestionnaire>
> > </CP100CP:EMIRQuestionnaire>
> >  </CP100CP:Counterparty>
> >
> >  </CP100CP:Counterparties>
> > </CP100:PartyDetails>
> >         </MAG:PartiesMisc>
> > <GOV100:GoverningLaw  ID='2' Code="GOV100">
> > <!-- Changed -->
> >   <GOV100:Governing_Law  PageNo="11"
> LineNo="14">Alabama</GOV100:Governing_Law>
> >
> > </GOV100:GoverningLaw>
> >  </MAG:Body>
> >   </MAG:Document>
> >    let $doc := <MAG:Document xmlns:NAV100PP="NAV100PP"
> xmlns:SE100="SE100" xmlns:CSD100CP="CSD100CP"
> > xmlns:CAR100CP="CAR100CP"
> > xmlns:PET100="PET100"
> > xmlns:IM100CP="IM100CP"
> > xmlns:OP100="OP100"
> > xmlns:OF100PP="OF100PP"
> > xmlns:VAL100CP="VAL100CP"
> > xmlns:MIC100="MIC100"
> > xmlns:CEM100="CEM100"
> > xmlns:TH100CP="TH100CP"
> > xmlns:MRA="MRA"
> > xmlns:ECOLL100PP="ECOLL100PP"
> > xmlns:NAV100CP="NAV100CP"
> > xmlns:AF100="AF100"
> > xmlns:AD100="AD100"
> > xmlns:EOD100-4="EOD100-4"
> > xmlns:AP100="AP100"
> > xmlns:OF100CP="OF100CP"
> > xmlns:THRW100PP="THRW100PP"
> > xmlns:EOD100-3="EOD100-3"
> > xmlns:CEM100PP="CEM100PP"
> > xmlns:TH100="TH100"
> > xmlns:OES100PP="OES100PP"
> > xmlns:MSLA="MSLA"
> > xmlns:ECOLL100CP="ECOLL100CP"
> > xmlns:IME100PP="IME100PP"
> > xmlns:AF100PP="AF100PP"
> > xmlns:AD100PP="AD100PP"
> > xmlns:AT100PP="AT100PP"
> > xmlns:HIC100="HIC100"
> > xmlns:TAX100PP="TAX100PP"
> > xmlns:ROC100="ROC100"
> > xmlns:SUB100PP="SUB100PP"
> > xmlns:THRW100CP="THRW100CP"
> > xmlns:IR101="IR101"
> > xmlns:CEM100CP="CEM100CP"
> > xmlns:SIN100="SIN100"
> > xmlns:OES100CP="OES100CP"
> > xmlns:IME100CP="IME100CP"
> > xmlns:AF100CP="AF100CP"
> > xmlns:AD100CP="AD100CP"
> > xmlns:AT100CP="AT100CP"
> > xmlns:ANX100-1="ANX100-1"
> > xmlns:TAX100CP="TAX100CP"
> > xmlns:ROC100PP="ROC100PP"
> > xmlns:SUB100CP="SUB100CP"
> > xmlns:CTT100="CTT100"
> > xmlns:ATE100="ATE100"
> > xmlns:DD100="DD100"
> > xmlns:CRC100PP="CRC100PP"
> > xmlns:IME100="IME100"
> > xmlns:AL100="AL100"
> > xmlns:PA100="PA100"
> > xmlns:ANX100-3="ANX100-3"
> > xmlns:TAX100="TAX100"
> > xmlns:ROC100CP="ROC100CP"
> > xmlns:CPRE100="CPRE100"
> > xmlns:OCTH100PP="OCTH100PP"
> > xmlns:AET100PP="AET100PP"
> > xmlns:DD100PP="DD100PP"
> > xmlns:DN100PP="DN100PP"
> > xmlns:CRC100CP="CRC100CP"
> > xmlns:KM100="KM100"
> > xmlns:AL100PP="AL100PP"
> > xmlns:PA100PP="PA100PP"
> > xmlns:EOD100-2="EOD100-2"
> > xmlns:FTH100PP="FTH100PP"
> > xmlns:REP100PP="REP100PP"
> > xmlns:CA100="CA100"
> > xmlns:SIO100PP="SIO100PP"
> > xmlns:OCTH100CP="OCTH100CP"
> > xmlns:CPRE100PP="CPRE100PP"
> > xmlns:AET100CP="AET100CP"
> > xmlns:DD100CP="DD100CP"
> > xmlns:DN100CP="DN100CP"
> > xmlns:UPC100="UPC100"
> > xmlns:KM100PP="KM100PP"
> > xmlns:AL100CP="AL100CP"
> > xmlns:PA100CP="PA100CP"
> > xmlns:EHP100PP="EHP100PP"
> > xmlns:TER100="TER100"
> > xmlns:FTH100CP="FTH100CP"
> > xmlns:REP100CP="REP100CP"
> > xmlns:ST100="ST100"
> > xmlns:SIO100CP="SIO100CP"
> > xmlns:CPRE100CP="CPRE100CP"
> > xmlns:RD100PP="RD100PP"
> > xmlns:PN100="PN100"
> > xmlns:KM100CP="KM100CP"
> > xmlns:NA100="NA100"
> > xmlns:MB100PP="MB100PP"
> > xmlns:EHP100CP="EHP100CP"
> > xmlns:TER100PP="TER100PP"
> > xmlns:REP100="REP100"
> > xmlns:CD100PP="CD100PP"
> > xmlns:MSFTA="MSFTA"
> > xmlns:ROU100PP="ROU100PP"
> > xmlns:RD100CP="RD100CP"
> > xmlns:GOV100="GOV100"
> > xmlns:CSD100="CSD100"
> > xmlns:CC100PP="CC100PP"
> > xmlns:NA100PP="NA100PP"
> > xmlns:MB100="MB100"
> > xmlns:FMT100PP="FMT100PP"
> > xmlns:TER100CP="TER100CP"
> > xmlns:AET100="AET100"
> > xmlns:CD100CP="CD100CP"
> > xmlns:DA100PP="DA100PP"
> > xmlns:GMRA="GMRA"
> > xmlns:ROU100CP="ROU100CP"
> > xmlns:RD100="RD100"
> > xmlns:SE100PP="SE100PP"
> > xmlns:ATE_A100="ATE_A100"
> > xmlns:CC100CP="CC100CP"
> > xmlns:NA100CP="NA100CP"
> > xmlns:MB100CP="MB100CP"
> > xmlns:ANX100-2="ANX100-2"
> > xmlns:FMT100CP="FMT100CP"
> > xmlns:TC100="TC100"
> > xmlns:CD100="CD100"
> > xmlns:DA100CP="DA100CP"
> > xmlns:NAV100="NAV100"
> > xmlns:SE100CP="SE100CP"
> > xmlns:CSD100PP="CSD100PP"
> > xmlns:CAR100PP="CAR100PP"
> > xmlns:IM100PP="IM100PP"
> > xmlns:CC100="CC100"
> > xmlns:MISC100="MISC100"
> > xmlns:OF100="OF100"
> > xmlns:VAL100PP="VAL100PP"
> > xmlns:TEM100="TEM100"
> > xmlns:OTP100="OTP100"
> > xmlns:TH100PP="TH100PP"
> > xmlns:MAG="ISDA">
> >  <MAG:MetaInfo>
> > <MAG:CollectionNo>4043</MAG:CollectionNo>
> > <!-- Amendment document -->
> > <MAG:DocumentType>AGRT-AMD-DOC</MAG:DocumentType>
> > <MAG:AgreementDate>2015-03-27</MAG:AgreementDate>
> > <MAG:DocumentState>BAU</MAG:DocumentState>
> > <MAG:PdfPageRange>24-32</MAG:PdfPageRange>
> >  </MAG:MetaInfo>
> >  <MAG:Body>
> > <MAG:PartiesMisc>
> > <CP100:PartyDetails xmlns:CP100="CP100" Code="CP100">
> >
> >   <CP100CP:Counterparties xmlns:CP100CP="CP100CP" Code="CP100CP">
> > <CP100CP:Counterparty ID = '123'>
> > <CP100CP:Name PageNo="3" LineNo="21">INNODATA aa</CP100CP:Name>
> > <CP100CP:Lei PageNo="3" LineNo="21">eeeee1</CP100CP:Lei>
> > <CP100CP:EntityType PageNo="3"
> LineNo="21">CORPORATION</CP100CP:EntityType>
> > <CP100CP:JurisdictionOrganisation PageNo="3"
> LineNo="21">Florida</CP100CP:JurisdictionOrganisation>
> > <CP100CP:AgentName PageNo="3" LineNo="11">mmmmm</CP100CP:AgentName>
> > <CP100CP:PartyStatus PageNo="3"
> LineNo="21">Terminated</CP100CP:PartyStatus>
> > <CP100CP:DF2Questionnaire>
> > </CP100CP:DF2Questionnaire>
> > <CP100CP:EMIRQuestionnaire>
> > </CP100CP:EMIRQuestionnaire>
> >  </CP100CP:Counterparty>
> >
> >  </CP100CP:Counterparties>
> > </CP100:PartyDetails>
> >         </MAG:PartiesMisc>
> > <GOV100:GoverningLaw  ID='2' Code="GOV100">
> > <!-- Changed -->
> >   <GOV100:Governing_Law  PageNo="11" LineNo="14">New
> York</GOV100:Governing_Law>
> >
> > </GOV100:GoverningLaw>
> >  </MAG:Body>
> >   </MAG:Document>​
> >
> > Please help
> >
> > Thanks
> > Pragya
> > "This e-mail and any attachments transmitted with it are for the sole
> use of the intended recipient(s) and may contain confidential , proprietary
> or privileged information. If you are not the intended recipient, please
> contact the sender by reply e-mail and destroy all copies of the original
> message. Any unauthorized review, use, disclosure, dissemination,
> forwarding, printing or copying of this e-mail or any action taken in
> reliance on this e-mail is strictly prohibited and may be unlawful."
> > This e-mail and any files transmitted with it are for the sole use of
> the intended recipient(s) and may contain confidential and privileged
> information. If you are not the intended recipient(s), please reply to the
> sender and destroy all copies of the original message. Any unauthorized
> review, use, disclosure, dissemination, forwarding, printing or copying of
> this email, and/or any action taken in reliance on the contents of this
> e-mail is strictly prohibited and may be unlawful. Where permitted by
> applicable law, this e-mail and other e-mail communications sent to and
> from Cognizant e-mail addresses may be monitored.
> _______________________________________________
> > General mailing list
> > [email protected]
> > http://developer.marklogic.com/mailman/listinfo/general
>
> _______________________________________________
> General mailing list
> [email protected]
> http://developer.marklogic.com/mailman/listinfo/general
>
_______________________________________________
General mailing list
[email protected]
http://developer.marklogic.com/mailman/listinfo/general

Reply via email to