У меня есть следующий XML:
<Metro>
<MeasurementList>
<Measurement>
<MeasurementX>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1212</AcqSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1213</AcqSettingsRef>
</MeasurementY>
</Measurement>
<Measurement>
<MeasurementX>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1212</AcqSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1214</AcqSettingsRef>
</MeasurementY>
</Measurement>
<Measurement>
<MeasurementX>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1215</AcqSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla</Prop1>
<AcqSettingsRef>#1216</AcqSettingsRef>
</MeasurementY>
</Measurement>
</MeasurementList>
<References>
<AcqSettings>
<Id>1212</Id>
<Prop2>bla</Prop2>
<Prop3>bla33</Prop3>
</AcqSettings>
<AcqSettings>
<Id>1213</Id>
<Prop2>bla</Prop2>
<Prop3>bla34</Prop3>
</AcqSettings>
<AcqSettings>
<Id>1214</Id>
<Prop2>bla</Prop2>
<Prop3>bla35</Prop3>
</AcqSettings>
<AcqSettings>
<Id>1215</Id>
<Prop2>bla</Prop2>
<Prop3>bla36</Prop3>
</AcqSettings>
<AcqSettings>
<Id>1216</Id>
<Prop2>bla</Prop2>
</AcqSettings>
</References>
</Metro>
Мне нужно переместить тег <Prop3>
из <AcqSettings>
в собственный тег элемента и добавить ID
. Это ID
также необходимо добавить в другой элемент, чтобы они были связаны. Кроме того, <Prop3>
может отсутствовать и один <AcqSettings>
может иметь несколько ссылок.
Ожидаемый файл должен быть таким.
<Metro>
<MeasurementList>
<Measurement>
<MeasurementX>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1212</AcqSettingsRef>
<SensSettingsRef>#33</SensSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1213</AcqSettingsRef>
<SensSettingsRef>#34</SensSettingsRef>
</MeasurementY>
</Measurement>
<Measurement>
<MeasurementX>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1212</AcqSettingsRef>
<SensSettingsRef>#33</SensSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1214</AcqSettingsRef>
<SensSettingsRef>#35</SensSettingsRef>
</MeasurementY>
</Measurement>
<Measurement>
<MeasurementX>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1215</AcqSettingsRef>
<SensSettingsRef>#36</SensSettingsRef>
</MeasurementX>
<MeasurementY>
<Prop1>bla<Prop1>
<AcqSettingsRef>#1216</AcqSettingsRef>
</MeasurementY>
</Measurement>
</MeasurementList>
<References>
<AcqSettings>
<Id>1212</Id>
<Prop2>bla<Prop2>
</AcqSettings>
<AcqSettings>
<Id>1213</Id>
<Prop2>bla<Prop2>
</AcqSettings>
<AcqSettings>
<Id>1214</Id>
<Prop2>bla<Prop2>
</AcqSettings>
<AcqSettings>
<Id>1215</Id>
<Prop2>bla<Prop2>
</AcqSettings>
<AcqSettings>
<Id>1216</Id>
<Prop2>bla<Prop2>
</AcqSettings>
<SensSettings>
<Id>33</Id>
<Prop3>bla33<Prop3>
</SensSettings>
<SensSettings>
<Id>34</Id>
<Prop3>bla34<Prop3>
</SensSettings>
<SensSettings>
<Id>35</Id>
<Prop3>bla35<Prop3>
</SensSettings>
<SensSettings>
<Id>36</Id>
<Prop3>bla36<Prop3>
</SensSettings>
</References>
</Metro>
Я могу сгенерировать ID
, используя 'generate-id', но я не уверен, как добавить это к новому элементу и к элементам <MeasurementX/Y>
для ссылки. Это также должно быть сделано в XSLT версии 1.