Hi,
This is a mental gymnastic that you will need to master.
C# convention for a list indexing is zero based
Xml convention for a list indexing is one based.
so when you want to access the first item using an xpath query you will need to put 1
but if you save several items in an FsmArray or ArrayList, then your first item will have its index at 0
keep two different variables for your indexing, one for build xpath queries and one for accessing c# arrays and lists, and when you increment your indexing, have a state that always set the c# indexing as the xpath indexing - 1 ( or vice versa)
It was a dileam for me when I created ArrayMaker and decided to go with the convention, so within c# environment, all is zero based, and in xpath queries it's not, which means that your xpath query as is will work outside Unity shoudl you want to test and create xpath queries using online editor ( which I do almost always for complex queries)
Bye,
Jean