// --------------------------------------------------------------------------- // - XmlSystem.hpp - // - afnix:xml module - xml system class definition - // --------------------------------------------------------------------------- // - This program is free software; you can redistribute it and/or modify - // - it provided that this copyright notice is kept intact. - // - - // - This program is distributed in the hope that it will be useful, but - // - without any warranty; without even the implied warranty of - // - merchantability or fitness for a particular purpose. In no event shall - // - the copyright holder be liable for any direct, indirect, incidental or - // - special damages arising in any way out of the use of this software. - // --------------------------------------------------------------------------- // - copyright (c) 1999-2007 amaury darsch - // --------------------------------------------------------------------------- #ifndef AFNIX_XMLSYSTEM_HPP #define AFNIX_XMLSYSTEM_HPP #ifndef AFNIX_PLIST_HPP #include "Plist.hpp" #endif namespace afnix { /// The XmlSystem class is an information class as well as utility /// procedure container. The class provides also the supported version. /// @author amaury darsch class XmlSystem { public: /// the supported version enum t_xmlv { XML_1_0, // xml version 1.0 XML_1_1 // xml version 1.1 }; public: /// @return the default xml system version string static String getxvid (void); /// @return the default xml system version id static t_xmlv getxmlv (void); /// @return the default xml system encoding mode static String getemod (void); /// @return true if the version id is valid static bool isxvid (const String& xvid); /// convert a string into a version type /// @param xvid the string version to convert static t_xmlv toxmlv (const String& xvid); /// convert a version to a string /// @param xmlv the xml version static String toxvid (const t_xmlv xmlv); /// convert an entoty reference to a character form /// @param eref the the entity reference to convert static String tocref (const String& eref); /// convert a character to a character entity /// @param c the character to convert static String tocent (const t_quad c); /// format a character to an escaped entity /// @param c the character to escape static String tocesc (const t_quad c); /// format a text string with escaped entities /// @param text the text to escape static String totesc (const String& text); /// format a value string with escaped entities /// @param text the text to escape static String tovesc (const String& text); /// prenormalize a text by keeping the eol characters /// @param text the text to normalize static String prenorm (const String& text); /// normalize a text by fixing the spacing characters /// @param text the text to normalize static String tonorm (const String& text); /// convert a property into an attribute string /// @param prop the property to convert static String toattr (const Property& prop); /// convert a property list into an attribute string /// @param plst the property list to convert static String toattr (const Plist& plst); }; } #endif