void RenderCounter::generateContent() { bool counters; counters = !m_counter->separator().isNull(); if(!m_counterNode) m_counterNode = getCounter(m_counter->identifier().string(), true, counters); int value = m_counterNode->count(); if(m_counterNode->isReset()) value = m_counterNode->value(); int total = value; if(m_counterNode->parent()) total = m_counterNode->parent()->total(); m_item = toListStyleType(value, total, (EListStyleType)m_counter->listStyle()); if(counters) { CounterNode *counter = m_counterNode->parent(); // we deliberately do not render the root counter-node while(counter->parent() && !(counter->isReset() && counter->parent()->isRoot())) { value = counter->count(); total = counter->parent()->total(); m_item = toListStyleType(value, total, (EListStyleType)m_counter->listStyle()) + m_counter->separator().string() + m_item; counter = counter->parent(); }; } }