Using Drupal 8 Feeds with Xpath parser, can I concatenate two attribute values that appear in a single tag? I have a dataset content type and an xml structure like this:

&lt;dataset&gt;
   &lt;purpose&gt;blah blah&lt;/purpose&gt;
   &lt;abstract&gt;blah blah&lt;/abstract&gt;
   &lt;authors&gt;blah blah1, blah blah2&lt;/authors&gt;
   &lt;ordered-authors&gt;
      &lt;author&gt;blah blah&lt;/author&gt;
      &lt;author&gt;blah blah&lt;/author&gt;
      &lt;author&gt;blah blah&lt;/author&gt;
   &lt;/ordered-authors&gt;
   &lt;tags&gt;
      &lt;themes&gt;
         &lt;theme name="xxx" rank="1"/&gt;
         &lt;theme name="yyy" rank="1"/&gt;
      &lt;/themes&gt;
   &lt;/tags&gt;
&lt;/dataset&gt;


I want to get the multiple attributes of each theme tag into a form like:
xxx-1, yyy-2, etc.
which will be used as entity references for each dataset, whether as an array, or a list that I then implode via a tamper. In Drupal 7 there were "dummy" fields to hold temporary values - I could create extra fields in the content type for this purpose but so far, that hasn't helped me find any way to query the xml and/or use available tamper options to combine the nested attributes to get a usable array of concatenated values (short of giving up with the feeds interface and moving to migrate). ANY help or suggestions would be appreciated!
Well, I have a solution but it's not elegant. I used this query:
//theme/@name|//theme/@rank

and Imploded the resulting array to get theme1,rank1,theme2,rank2, etc,

then used a regex to replace every odd comma with a dash:
/(\w+)\W*,\W*(\w+)/
$1-$2

and then Exploded back to an array.

Would still like to know if there's a better alternative.