Lets work with an example :
<win-listview id="recentItemsList" member itemdatasource="list:ctrl:recentItemsPromise" itemtemplate="select:#pictureItem" iteminvoked="event:ctrl:recentListItemInvoked"></win-listview>
You could think of attribute resolution as
[what to do]:[where to look]:[string token]
If you look at the « itemdatasource » attribute, you could read it like this : get the « recentItemsPromise » property from parent control, and wrap it in a WinJS.Binding.List for the ListView.
In this example, « recentItemsPromise » is just a string, and « ctrl » and « list » are operators. The list operator is smart enougth to see that it received a promise, and await it to set value.
Operators are just functions referenced in the namespace WinJSContrib.Utils.ValueParsers. You could provide your own operators by adding them to this namespace.
When the attribute is resolved, you will endup with something equivalent to :
list(domelement, ctrl(domelement, "recentItemsPromise"));
As you can see, their is no complex parsing involved, it is very efficient, and enforce composition. You have no limit at the number of operators you can chain like this.
You could find the list and details about built-in operators in the API documentation.