Verwendung von Namespaces in Groovy MarkupBuilder

Ich möchte die folgende Ausgabe haben:

<?xml version="1.0" encoding="UTF-8"?>
<structure:structuralDataRoot xmlns:register="http://www.test.ch/register/1" xmlns:structure="http://test.ch/structure/1" >
  <structure:tester>ZH</structure:tester>
  <structure:surveyYear>2001</structure:surveyYear>
  <structure:surfaceData>
    <structure:houseSurfaceData>
      <structure:creationDate>2001-01-01</structure:creationDate>
      <structure:localFarmId>
        <register:houseIdCategory>token</register:houseIdCategory>
        <register:houseId>token</register:houseId>
      </structure:localFarmId>
    </structure:houseSurfaceData>
  </structure>

Ich kann einem XML-Code folgenden Namespace hinzufügen:

xml.records('xmlns:structure' :"http://test.ch/structure/1" ...

Aber wie kann ich einem xml-Element ein Namespace-Präfix geben? Die einzige Lösung, die ich gefunden habe, war:

tester('xmlns:structure' :"http://test.ch/structure/1", 'ZH')

Aber dies gibt mir die folgende Ausgabe:

<tester xmlns:structure='http://test.ch/structure/1'>ZH</tester>

Es ist syntaktisch korrekt, aber nicht gut zu lesen, wenn Sie viele Knoten haben.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage