Wednesday, June 20, 2007

Here is my preliminary vision of Fields:
  1. All the fields-related classes are located in AODL.Document.Fields namespace
  2. All the Fields classes that represent the appropriate 'content' snippets implement the IContent interface.
  3. Placeholder and TextInput classes stand for text:placeholder and text:text-input fields respectively.
  4. Placeholder class has such properties as PlaceholderType, Value, Description and some others. PlaceholderType is an enumeration.
  5. TextInput class has such Value, Descriptions properties etc.
  6. Implementation of text:variable-set will be separated in two classes: VariableDecl and VariableSet. VariableDeclCollection will be a class deriving from CollectionWithEvents to handle variable declaration lists.
  7. VariableDecl will stand for variable declaration snippet. Main properties besides Name and Node: Name and VariableValueType
  8. TextDocument is augmented with a variable declaration list property
  9. TextDocument has methods to find any VariableDecl. For example, by its name.
  10. VariableSet is a class that implements the text:variable-set. It has a series of properties bound to the possible attributes of text:variable-set tag.
  11. Of course, there will be some kind of synchronization between the two last mentioned classes
  12. Import/export handlers will support fields.

No comments: