cmDocumentationFormatterDocbook.h 1.6 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. /*============================================================================
  2. CMake - Cross Platform Makefile Generator
  3. Copyright 2000-2009 Kitware, Inc., Insight Software Consortium
  4. Distributed under the OSI-approved BSD License (the "License");
  5. see accompanying file Copyright.txt for details.
  6. This software is distributed WITHOUT ANY WARRANTY; without even the
  7. implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
  8. See the License for more information.
  9. ============================================================================*/
  10. #ifndef _cmDocumentationFormatterDocbook_h
  11. #define _cmDocumentationFormatterDocbook_h
  12. #include "cmStandardIncludes.h"
  13. #include "cmDocumentationFormatter.h"
  14. /** Class to print the documentation as Docbook.
  15. http://www.oasis-open.org/docbook/xml/4.2/ */
  16. class cmDocumentationFormatterDocbook : public cmDocumentationFormatter
  17. {
  18. public:
  19. cmDocumentationFormatterDocbook();
  20. virtual cmDocumentationEnums::Form GetForm() const
  21. { return cmDocumentationEnums::DocbookForm;}
  22. virtual void PrintHeader(const char* docname, const char* appname,
  23. std::ostream& os);
  24. virtual void PrintFooter(std::ostream& os);
  25. virtual void PrintSection(std::ostream& os,
  26. const cmDocumentationSection& section,
  27. const char* name);
  28. virtual void PrintPreformatted(std::ostream& os, const char* text);
  29. virtual void PrintParagraph(std::ostream& os, const char* text);
  30. private:
  31. std::set<std::string> EmittedLinkIds;
  32. };
  33. #endif