import groovy.text.SimpleTemplateEngine
def templateString = '''
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<StandardBusinessDocument xmlns="http://w...content-available-to-author-only...e.org/cefact/namespaces/StandardBusinessDocumentHeader">
<StandardBusinessDocumentHeader>
<HeaderVersion>1.0</HeaderVersion>
<Sender>
<Identifier Authority="iso6523-actorid-upis">$originalSender</Identifier>
</Sender>
<Receiver>
<Identifier Authority="iso6523-actorid-upis">$finalRecipient</Identifier>
</Receiver>
<DocumentIdentification>
<Standard>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2</Standard>
<TypeVersion>2.1</TypeVersion>
<InstanceIdentifier>$AP_Initiator-$TimeStampNormalized</InstanceIdentifier>
<Type>Invoice</Type>
<CreationDateAndTime>$TimeStampUTC</CreationDateAndTime>
</DocumentIdentification>
<BusinessScope>
<Scope>
<Type>DOCUMENTID</Type>
<InstanceIdentifier>urn:oasis:names:specification:ubl:schema:xsd:Invoice-2::Invoice##urn:cen.eu:en16931:2017#compliant#urn:fdc:peppol.eu:2017:poacc:billing:3.0::2.1</InstanceIdentifier>
</Scope>
<Scope>
<Type>PROCESSID</Type>
<InstanceIdentifier>urn:www.cenbii.eu:profile:bii05:ver2.0</InstanceIdentifier>
</Scope>
<Sco
pe>
<Type>COUNTRY_C1</Type>
<InstanceIdentifier>CY</InstanceIdentifier>
</Scope>
</BusinessScope>
</StandardBusinessDocumentHeader>
</StandardBusinessDocument>
'''
def binding = [originalSender: '9928:12341234A', finalRecipient: '9928:12341234B', AP_Initiator: 'POP000106', TimeStampNormalized: System.currentTimeMillis(), TimeStampUTC: Instant.now().atZone(ZoneId.of("UTC"))]
def template = new SimpleTemplateEngine().createTemplate(templateString).make(binding)
println "Updated xml : ${template.toString()}"