I’m not sure what two-way binding means precisely in this context.
I mean binding to SQL database tables that store the document content, marks, and decorations. Database → Wordgard would be SELECT statements and Wordgard → database would be INSERT, UPDATE, and/or DELETE statements.
Once I’ve got a decent editor going I’ll experiment with mapping the update listener’s transactions to database transactions. I have a feeling that will get hairy.
I think it’s probably going to be easier to define these as document nodes in your schema, and render them separately.
I agree. This makes me much more interested in virtualization to solve the performance issue for large documents.