X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsgml.h;h=ed8cbf314de7dc8bf2719aa473da0be0ee451519;hb=fb12b282f1300123c7f4c7f10525c29cb598e1fe;hp=017086841b7e85d352d7fbc32a5225ac09f8a69d;hpb=0cfc9133bb381503f3fb48f824f3ad1e32b4f960;p=lyx.git diff --git a/src/sgml.h b/src/sgml.h index 017086841b..ed8cbf314d 100644 --- a/src/sgml.h +++ b/src/sgml.h @@ -14,33 +14,47 @@ #define SGML_H #include "support/types.h" +#include "support/docstring.h" -#include -#include -#include +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 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 -int openTag(Buffer const & buf, std::ostream & os, lyx::depth_type depth, - bool mixcont, std::string const & name, - std::string const & param = std::string()); +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 -int closeTag(std::ostream & os, lyx::depth_type depth, - bool mixcont, std::string const & name); +void closeTag(odocstream & os, std::string const & name); + +/// Close tag +void closeTag(odocstream & os, Paragraph const & par); + +} // namespace sgml +} // namespace lyx -} #endif // SGML_H