Я называю какое-то облако, которое позволяет выполнять шпунтовые скрипты.Я возвращаю данные в виде XML из этого сценария.Я использую такой код:
def writer;
def xml;
writer = new StringWriter();
xml = new MarkupBuilder(writer);
xml.Response() {
node('arrtibute1': value4arrtibute1);
}
Но мне нужно использовать более сложный способ вычисления значений.Я хочу поместить в это множество различных узлов.
def writer;
def xml;
writer = new StringWriter();
xml = new MarkupBuilder(writer);
xml.Response() {
Function1();
Function2();
}
... и реализации этих функций.
public void Function1(){
node1('arrtibute1': value4arrtibute1);
}
public void Function2(){
someOtherNode1('arrtibute1': otherValue4arrtibute1, ...);
}
Последний код не работает.Причина, по которой это не работает, заключается в том, что функции не знают, что они работают в контексте ответа и ищут методы node1
и someOtherNode1
.
Когда я пытаюсь передать xml в функции и пытаюсьсоздать новый ответ там Я деформировал структуру XML-документа (документ в документе).
Мой вопрос: как позволить коду в функции "знать", что они выполняются в контексте ответа?