title: Using XSLT 2.0 to parse the values of multiple attributes into an array-like structure
body: <p>I'd like to be able to select all the attributes of a certain type in a document (for example, //@arch) and then take that node set and parse the values out into second node set. When I say "parse", in specific I mean I want to turn a node set like this: </p>
  
  <pre><code>arch="value1;value2;value3"
  arch="value1:value4"
  </code></pre>
  
  <p>into a node set like this:</p>
  
  <pre><code>arch="value1"
  arch="value2"
  arch="value3"
  arch="value1"
  arch="value4"
  </code></pre>
  
  <p>or something like that; I want to get the individual values out of the attributes and into their own node.</p>
  
  <p>If I can get it to that state, I've got plenty of methods for sorting and duplicate removal, after which I'd be using the finished node set for a publishing task.</p>
  
  <p>I'm not so much looking for an tidy answer here as an approach. I know that XSLT cannot do dynamic arrays, but that's not the same as not being able to do something <em>like</em> dynamic arrays or something that mimics the important part of the functionality. </p>
  
  <p>One thought that has occurred to me is that I could count the nodes in the first node set, and the number of delimiters, calculate the number of entries that the second node set would need and create it (somehow), and use the substring functions to parse out the first node set into the second node set.</p>
  
  <p>There's usually a way working around XSLT's issues; has anyone worked their way around this one before?</p>
  
  <p>Thanks for any help,
  Jeff.</p>