Yup, the XPATH is greyed out to make sure you can't mess with it... especially if you're using Repeats, since we need to automatically change the indexes in the XPATH to loop through each iteration.
I agree that it's not the most user-friendly way to do things, but it does prevent errors from occurring.
However, using custom data selections doesn't break the Repeat if you set it correctly. You simply have to "code" it properly.
For instance, let's say your XML data looks something like this:
Job
|
|--Record 1
|
|-- CustomerID
|--Record 2
|
|-- CustomerID
|--Record 3
|
...
Let's say you want to print all Customer ID's. That means that you need to iterate on each
Record token. To do so, select
Custom Data Selection and set the value to
=XmlGet('/Job[1]/RECORD['+inttostr(&Current.Line)+']/CustomerID[1]')
As you can see, we're manually building the XPATH to take into account the current "position" of the repeat, which is stored in the
Current.Line system variable.
Make sure the Data Selection Object is set to repeat on the
Xpath to ensure Current.Line gets incremented to the proper value.
I hope that helps,