#include "support/types.h"
#include <iosfwd>
+#include <string>
#include <utility>
+class Buffer;
+class Paragraph;
+class OutputParams;
+
namespace sgml {
/**
- * Escape the given character if necessary
+ * Escape the given character, if necessary,
* to an SGML entity. Returns true
* if it was a whitespace character.
*/
std::pair<bool, std::string> escapeChar(char c);
-/// FIXME
-int openTag(std::ostream & os, lyx::depth_type depth,
- bool mixcont, std::string const & latexname,
- std::string const & latexparam = std::string());
+/// Escape a word instead of a single character
+std::string escapeString(std::string const & raw);
-/// FIXME
-int closeTag(std::ostream & os, lyx::depth_type depth,
- bool mixcont, std::string const & latexname);
+/// replaces illegal characters from SGML/XML ID attributes
+std::string cleanID(Buffer const & buf, OutputParams const & runparams,
+ std::string const & orig);
-///
-unsigned int closeEnvTags(std::ostream & os,
- bool mixcont,
- std::string const & environment_inner_depth,
- std::string const & item_tag,
- lyx::depth_type total_depth);
+/// returns a unique numeric id
+std::string const uniqueID(std::string const label);
-}
+/// Opens tag
+void openTag(std::ostream & os, std::string const & name,
+ std::string const & attribute = std::string());
+
+/// Open tag
+void openTag(Buffer const & buf, std::ostream & os,
+ OutputParams const & runparams, Paragraph const & par);
+/// Close tag
+void closeTag(std::ostream & os, std::string const & name);
+
+/// Close tag
+void closeTag(std::ostream & os, Paragraph const & par);
+}
#endif // SGML_H