]> git.lyx.org Git - lyx.git/blobdiff - src/sgml.h
remove lyxrc dependence from support/*
[lyx.git] / src / sgml.h
index d3377e77df4c2d5d3caa0688a6210bc840b240b7..d32b799b4997211b1b8d9f41fce60ffb3eeb3fa3 100644 (file)
 #ifndef SGML_H
 #define SGML_H
 
-#include "paragraph.h"
+#include "support/types.h"
+#include "support/docstream.h"
 
-#include "LString.h"
-#include <algorithm>
 #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.
+ * Escape the given character, if necessary,
+ * to an SGML entity.
  */
-std::pair<bool, string> escapeChar(char c);
+docstring escapeChar(char_type c);
+
+/// Escape a word instead of a single character
+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(odocstream & os, std::string const & name,
+           std::string const & attribute = std::string());
+
+/// Open tag
+void openTag(Buffer const & buf, odocstream & os,
+            OutputParams const & runparams, Paragraph const & par);
+
+/// Close tag
+void closeTag(odocstream & os, std::string const & name);
 
-/// FIXME
-int openTag(std::ostream & os, Paragraph::depth_type depth,
-           bool mixcont, string const & latexname);
+/// Close tag
+void closeTag(odocstream & os, Paragraph const & par);
 
-/// FIXME
-int closeTag(std::ostream & os, Paragraph::depth_type depth,
-           bool mixcont, string const & latexname);
-}
+} // namespace sgml
+} // namespace lyx
 
 #endif // SGML_H