If you think about the different output formats, you probably know that you need to take each element and output it with some additional markup. In the case of languages such as HTML or LaTeX, though, the list will also need start and end tags or markers.
Render the opening tag or element.
For each of the list items, render that item.
Render the closing tag or element.
Different strategies can be formulated for different output ...