I am working on a conversion script transforming from a prior DTD to a new
DTD, and as part of this transformation, we are hoping to parse some mixed
content into separate nested elements. The content is "|" delimited, but I am
having a tough time coming up with a way to group the text and sibling
elements. What follows are some permutations of input and expected output:
INPUT:
<argument> "AUTO | NONE | METADATA"</argument>
OUTPUT:
<argument><choice>AUTO</choice><choice>NONE</choice><choice>METADATA</choice>
"</argument>
INPUT:
<argument><userSuppliedValue>dimension</userSuppliedValue> |
<userSuppliedValue>dimension</userSuppliedValue>%</argument>
OUTPUT:
<argument><choice><userSuppliedValue>dimension</userSuppliedValue></choice><c
hoice><userSuppliedValue>dimension></userSuppliedValue>%</choice></argument>
INPUT:
<argument>#BYVAL<userSuppliedValue>n</userSuppliedValue> |
#BYVAL(<userSuppliedValue>BY-variable-name</userSuppliedValue>)</argument>
OUTPUT:
<argument><choice>#BYVAL<userSuppliedValue>n</userSuppliedValue></choice><cho
ice>#BYVAL(<userSuppliedValue>BY-variable-name</userSuppliedValue>)</choice><
/argument>
I've got access to XSL 2, and possibly XSL3 if necessary.
Thanks in advance for any ideas!
-Edward
|