Puppet 3.2 用の Augeas ツールを使用しており、XML ファイルを作成しようとしています。同じ名前の複数のフィールドを XML ドキュメントに追加できるようにしたいと考えています。たとえば、node2/location2 を node1/location1 から分離するには、独自の「ノード」フィールドに配置します。これは私のコードです:
augeas { "update template":
lens => "Xml.lns",
require => File["${buildpath}/tempfile.xml"],
incl => "${buildpath}/tempfile.xml",
changes => [
"set member/acceptors[#attribute]/node[#attribute]/nodeIdentity[#attribute]/#text node2",
"set member/acceptors/node/nodeLocation[#attribute]/#text location2",
"set member/acceptors/node/nodeIdentity[#attribute]/#text node1",
"set member/acceptors/node/nodeLocation[#attribute]/#text location1"
],
}
これは私が得る XML 出力です:
<member>
<acceptors>
<node>
<nodeIdentity>node2</nodeIdentity>
<nodeLocation>location2</nodeLocation>
<nodeIdentity>node1</nodeIdentity>
<nodeLocation>location1</nodeLocation>
</node>
</acceptors>
</member>
これは私が望む出力です:
<member>
<acceptors>
<node>
<nodeIdentity>node2</nodeIdentity>
<nodeLocation>location2</nodeLocation>
</node>
<node>
<nodeIdentity>node1</nodeIdentity>
<nodeLocation>location1</nodeLocation>
</node>
</acceptors>
</member>
次のように [#attribute] を node1 行に追加しようとしました。
"set member/acceptors/node[#attribute]/nodeIdentity[#attribute]/#text node1",
しかし、「node1」は出力されません。助言がありますか?