名前、ホスト、およびポートの属性を持つターゲット ホスト ノードで構成される xml ファイルがあります。
odnodes.xml:
<odnodes>
<node>
<name>malden_APP_OBC_DEV-1</name>
<host>localhost</host>
<port>20014</port>
<comments></comments>
</node>
<node>
<name>malden_APP_OBC_IT-2</name>
<host>localhost</host>
<port>20014</port>
<comments></comments>
</node>
<node>
<name>finish_IIS_OBC_UAT-1</name>
<host>localhost</host>
<port>20014</port>
<comments></comments>
</node>
<node>
<name>finish_IIS_OBC_PROD-2</name>
<host>localhost</host>
<port>20014</port>
<comments></comments>
</node>
</odnodes>
Perlを使用して、名前とノードの属性を持つノードを作成する別のファイルを動的に作成しています。ノードには同様のノードが設定されています。
グループ名の作成に使用される Perl:
my @names = split(/([_-])/, $groupnames);
my @names = @names[0];
print FILE "@names\n";
ノード属性の設定に使用される Perl:
foreach my $group (@groups) {
my @nodes;
foreach my $node (@nodenames) {
chomp($group);
chomp($node);
if ($node =~ m/$group/) {
push (@nodes, "$node,");
}
}
chop @nodes[-1];
my $groupxml = "\t<nodeGroup name=\"$group\" nodes=\"@nodes\"\/>\n";
print ODSERVERFILE $groupxml;
}
グループノードの例:
<odConfiguration>
<nodeSet>
<nodeGroup name="malden" nodes="malden_APP_OBC_DEV-1,malden_APP_OBC_IT-2" />
<nodeGroup name="finish" nodes="finish_IIS_OBC_UAT-1,finish_IIS_OBC_PROD-2" />
</nodeSet>
</odConfiguration>
質問: XSL を使用してこれを達成するにはどうすればよいでしょうか? または、perl スクリプトを呼び出して実行し、結果を渡すことはできますか?