Reputation: 21
How I can generate such XML tag in Googlescript via XmlService?
<display-name xml:lang="x-default">Adam</display-name>
I have used different variants setAttribute
but nothing is works.
XmlService.createElement('display-name').setAttribute('lang', 'x-default');
// prefix `xml:` has not added
XmlService.createElement('display-name').setAttribute('lang', 'x-default', XmlService.getNamespace('someurl'));
// fatal error: We're sorry, a server error occurred
XmlService.createElement('display-name').setAttribute('lang', 'x-default', XmlService.getNamespace('xml', 'someurl'));
// fatal error: Invalid argument
// but in case fake namespace - OK
XmlService.createElement('display-name').setAttribute('lang', 'x-default', XmlService.getNamespace('qqq', 'someurl'));
// <display-name xmlns:qqq="http://example.com" qqq:lang="x-default" />
Upvotes: 2
Views: 379
Reputation: 1175
You need to use "xml:" namespace as defined here
This is available in Google Apps Script by calling:
XmlService.getXmlNamespace()
So, you can achieve what you want with the following code:
XmlService.createElement('display-name')
.setAttribute('lang', 'x-default', XmlService.getXmlNamespace())
.setText('Adam');
Upvotes: 1