在 ballerina 中构造 XML 时出错

Error while constructing XML in ballerina

以下语句在 ballerina 中给出了编译错误,但是当我删除行时

<?xml version="1.0" encoding="UTF-8"?> 

它可以正常工作。这里有什么我遗漏的吗

xml req = xml `<?xml version="1.0" encoding="UTF-8"?>
<Message xmlns="urn:worldwire"
                   xmlns:cct="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.07"
                   xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
                   ${buildPacs008Header(bulkSend)}
                   ${buildPacs008Body(bulkSend)}
               </Message>`;

XML 文字只允许有一个 XML 元素。这在Github issue中也有讨论 你需要单独声明它并连接如下

xml x1 = xml`<?xml version="1.0" encoding="UTF-8"?>`;
xml req = x1 + xml `<Message xmlns="urn:worldwire"
                   xmlns:cct="urn:iso:std:iso:20022:tech:xsd:pacs.008.001.07"
                   xmlns:head="urn:iso:std:iso:20022:tech:xsd:head.001.001.01">
               </Message>`;