// ---------------------------------------------------------------------------
// - 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
syntax highlighted by Code2HTML, v. 0.9.1