]> git.lyx.org Git - lyx.git/blobdiff - src/sgml.h
Account for old versions of Pygments
[lyx.git] / src / sgml.h
index ff495d7882ea5ce99498a3b159ee813eafa91efa..a46c9fa833a57990dc5910e924d334348ba3b877 100644 (file)
@@ -4,7 +4,7 @@
  * This file is part of LyX, the document processor.
  * Licence details can be found in the file COPYING.
  *
- * \author José Matos
+ * \author José Matos
  * \author John Levon
  *
  * Full author contact details are available in file CREDITS.
 #ifndef SGML_H
 #define SGML_H
 
-#include "support/types.h"
+#include "support/docstring.h"
 
-#include <iosfwd>
-#include <string>
-#include <utility>
+namespace lyx {
 
 class Buffer;
 class Paragraph;
+class OutputParams;
 
 namespace sgml {
 
 /**
  * Escape the given character, if necessary,
- * to an SGML entity. Returns true
- * if it was a whitespace character.
+ * to an SGML entity.
  */
-std::pair<bool, std::string> escapeChar(char c);
+docstring escapeChar(char_type c);
 
 /// Escape a word instead of a single character
-std::string escapeString(std::string const & raw);
+docstring escapeString(docstring const & raw);
+
+/// replaces illegal characters from SGML/XML ID attributes
+docstring cleanID(Buffer const & buf, OutputParams const & runparams,
+                   docstring const & orig);
+
+/// returns a unique numeric id
+docstring const uniqueID(docstring const & label);
 
 /// Opens tag
-void openTag(std::ostream & os, std::string const & name,
+void openTag(odocstream & os, std::string const & name,
            std::string const & attribute = std::string());
 
 /// Open tag
-void openTag(Buffer const & buf, std::ostream & os, Paragraph const & par);
+void openTag(Buffer const & buf, odocstream & os,
+            OutputParams const & runparams, Paragraph const & par);
 
 /// Close tag
-void closeTag(std::ostream & os, std::string const & name);
+void closeTag(odocstream & os, std::string const & name);
 
 /// Close tag
-void closeTag(std::ostream & os, Paragraph const & par);
-}
+void closeTag(odocstream & os, Paragraph const & par);
+
+} // namespace sgml
+} // namespace lyx
+
 #endif // SGML_H