When implementing a conversion of Open XML word processing documents to HTML, one of the interesting issues is accurately converting numbered and bulleted lists. You must pay special attention to them, because they impact the text that the document contains, but that text isn’t directly in the markup. If you are accurately extracting the text of the document, you must process some elements and attributes to assemble the correct text.
Numbered items and bulleted lists are not trivial, and justifiably so. There are a large number of features of numbered and bulleted lists, each used by a different set of users. These features are represented by elements in the markup. However, you don’t need to pay attention to all elements. Some aspects of the markup are there just to affect the user interface, and you don’t need to pay attention to those elements when determining the textual representation of a numbered or bulleted item. This post presents just the essentials that you need to know to work with numbered and bulleted items.
I’ve written an MSDN article, Working with Numbered Lists in Open XML WordprocessingML, that describes how Open XML WordprocessingML markup works for numbered and bulleted lists. Thanks to Tristan Davis, Zeyad Rajabi, and Brian Hyams for tech reviewing the article.