But you need to consider, that the constraint does not apply to a replication-manager in every case! If the xpath-expression points to a single node, replication isn't triggered and therefore no replication-manager will be created. If you just replace all constraint datapaths with explicit replication, many programs will break, because people don't expect to get a replicator-node in this cases.

Delving into making constraints class methods, we have some tag- compiler work to do.

Apparently you can say:

   <view datapath="${...}" />

or:

   <view>
     <datapath xpath="${...}" />

In both cases, the constraint really applies to the (invisible) replication manager, not to the view or the datapath. Right now this constraint is picked up at run time, ripped off the clone template and smashed onto the replication manager. That is not going to work in modern (JS2) runtimes.

I think the right approach here is to have the tag compiler re-write implicit replication into explicit replication, so:

   <view datapath="${...}" />

becomes:

   <replicator datapath="${...}">
     <view />
   </replicator>

etc.

Does this seem feasible? Could we even spit out a deprecation warning suggesting that explicit replication be used?

Reply via email to