146 StyleLocaleMap_t::const_iterator style_Iter;
151 return style_Iter->second;
168 assert( pTagBuilder !=
nullptr );
Implements the ITag interface for building a Style-Locale list.
void Initialize(const std::string &)
Read interested tag content into respective structure then start parsing process.
virtual void end_element(const string_t &raw_name, const string_t &local_name) override
end_element occurs when a tag is closed
std::stack< ITag * > m_TagBuilderStack
ChunkBuffer_t m_ChunkBuffer
virtual ~CContentReader() override
destructor.
virtual void start_element(const string_t &raw_name, const string_t &local_name, const xml_tag_attribute_container_t &attributes) override
start_element occurs when a tag is start.
void addChunk(LocaleSet_t const &Locale, Content_t const &Content)
add chunk into Chunk Buffer.
StyleLocaleMap_t m_StyleMap
CContentReader(const Filepath_t &DocumentName, LocaleSet_t const &DocumentLocale)
constructor.
LocaleSet_t const & getLocale(const StyleName_t &Style)
get a style's locale field.
ITag * chooseTagReader(const std::wstring &tag_name, const XmlTagAttributes_t &XmlAttributes)
choose an appropriate tag reader to handle the tag.
LocaleSet_t m_DefaultLocale
::std::wstring getCurrentContentStyle()
get style of the current content.
virtual void characters(const string_t &character) override
characters occurs when receiving characters
Implements the ITag interface but does nothing (Null object pattern), may be used for tags we are not...
Implements the ITag interface for building a general info that is not a compound tag.
Interface for a xml tag character builder.
virtual ::std::wstring getTagAttribute(::std::wstring const &attrname)=0
virtual void startTag()=0
virtual void addCharacters(const std::wstring &characters)=0
virtual ::std::wstring getTagContent()=0
virtual void addAttributes(const XmlTagAttributes_t &attributes)=0
#define CONTENT_STYLE_PROPERTIES
#define CONTENT_TEXT_BOOKMARK_REF
#define CONTENT_TEXT_INDEX_TITLE_TEMPLATE
#define CONTENT_TEXT_STYLENAME
#define CONTENT_TEXT_SPAN
#define CONTENT_TEXT_SEQUENCE
#define CONTENT_STYLE_STYLE_NAME
#define CONTENT_STYLE_STYLE
#define CONTENT_TEXT_STYLE_PROPERTIES
Reference< XOutputStream > stream
std::map< string_t, string_t > xml_tag_attribute_container_t
::std::pair< StyleName_t, LocaleSet_t > StyleLocalePair_t
::std::wstring StyleName_t
::std::pair< Language_t, Country_t > LocaleSet_t
std::map< std::wstring, std::wstring > XmlTagAttributes_t
::std::pair< LocaleSet_t, Content_t > Chunk_t
bool HasOnlySpaces(const std::wstring &String)
helper function to judge if the string is only has spaces.