How to select group nodes by substring in xslt



I have this source xml



<TestRun>
<Results>
<UnitTestResult testId="1f32f6b9-6623-1321-32b5-b2e84ef44f61" testName="TestMethod1" outcome="Passed">
<Output>
<TextMessages>
<Message>__OWNER__='Team-2'</Message>
</TextMessages>
</Output>
</UnitTestResult>
<UnitTestResult testId="1f32f6b9-6623-1321-32b5-b2e84ef44f62" testName="TestMethod2" outcome="Failed">
<Output>
<TextMessages>
<Message>__OWNER__='Team-1'</Message>
</TextMessages>
</Output>
</UnitTestResult>
<UnitTestResult testId="1f32f6b9-6623-1321-32b5-b2e84ef44f63" testName="TestMethod3" outcome="Failed">
<Output>
<TextMessages>
<Message>__OWNER__='Team-1'</Message>
</TextMessages>
</Output>
</UnitTestResult>
<UnitTestResult testId="1f32f6b9-6623-1321-32b5-b2e84ef44f64" testName="TestMethod4" outcome="Failed">
<Output>
<TextMessages>
<Message>__OWNER__='Team-2'</Message>
</TextMessages>
</Output>
</UnitTestResult>
</Results>
</TestRun>


And I need to group failed tests by owner which is a substring of Message node.


So the outcome should be



<TestResults>
<Owner name="Team-1">
<TestMethod name="TestMethod2"/>
<TestMethod name="TestMethod3"/>
</Owner>
<Owner name="Team-2">
<TestMethod name="TestMethod4"/>
</Owner>


Any ideas how to achieve this (using XSLT 1.0 preferably)?


No comments:

Post a Comment