Solutions approach

Before writing the code, let us step back a bit to enumerate the details of the requirements. The library which we are planning to write should have the following:

  • Support for various output formats like HTML, PDF, and so on
  • An object model for storing the contents of the table
  • A unified programming model and API for developers
  • Separate content and it's processing
  • The ability to write new pluggable output processors (drivers)

We will start by creating a hierarchy of elements for storing document contents. A simple hierarchy which has been conceived is as follows:

Solutions approach

We will encode our content in a tree-structured document model. For the ...

Get .NET Design Patterns now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.