X-Git-Url: https://git.lyx.org/gitweb/?a=blobdiff_plain;f=src%2Fsgml.h;h=ed0f1403a5475d9f59c01869a9ffe790cd204702;hb=55a3dd7b346d29a52ba305a4558e9e380ef50f47;hp=e6b2e4e487a47036d2f2ec2ec31ca49f7352e590;hpb=8e27aa2fb7c0b9469ac83f0af49e1f7bc59006f7;p=lyx.git diff --git a/src/sgml.h b/src/sgml.h index e6b2e4e487..ed0f1403a5 100644 --- a/src/sgml.h +++ b/src/sgml.h @@ -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. @@ -14,43 +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 chars like ':' or '_' from SGML ID attributes -std::string cleanID(std::string const & orig, std::string const & allowed = std::string()); +/// replaces illegal characters from SGML/XML ID attributes +docstring cleanID(Buffer const & buf, OutputParams const & runparams, + docstring const & orig); -/// returns a uniq numeric id -std::string const uniqueID(std::string const label); +/// 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