次のXMLを作成し、Perlスクリプトを使用してデータを入力します。このXMLには、いくつかのコレクションタイプの属性、つまりprimarySiteCollectionがあります。
'primarySiteCollection'ノードを動的に入力して生成するにはどうすればよいですか。このXMLでは、primarySiteCollectionには3つの組織サイトが含まれていますが、1つまたは複数存在する可能性があります。
<TumorDetails>
<personUpi>String</personUpi>
<ageAtDiagnosis>3.14159E0</ageAtDiagnosis>
<biopsyPathologyReportSummary>String</biopsyPathologyReportSummary>
<primarySiteCollection>
<tissueSite>
<description>String1</description>
<name>String1</name>
</tissueSite>
<tissueSite>
<description>String2</description>
<name>String2</name>
</tissueSite>
<tissueSite>
<description>String3</description>
<name>String3</name>
</tissueSite>
</primarySiteCollection>
</TumorDetails>
これは私のPerlスクリプトです。コレクションタイプの属性を動的に含むノードを生成したかったのです。
use strict;
use warnings;
use XML::Compile::Schema;
my $node = {
personUpi => 'String',
ageAtDiagnosis => '3.14159E0',
biopsyPathologyReportSummary => 'String',
primarySiteCollection => {
tissueSite => {
description => 'String',
name => 'String',
},
},
};
my $schema = XML::Compile::Schema->new('sample.xsd');
my $writer = $schema->compile(WRITER => 'TumorDetails');
my $doc = XML::LibXML::Document->new(q(1.0), q(UTF-8));
print $writer->($doc, $node)->toString;