Return Type | Function name | Arguments |
---|---|---|
void | hdsHtag::Generate | (hzChain&,hzHttpEvent*,unsigned int&,) |
Declared in file: hzDissemino.h
Defined in file : hdsGenerate.cpp
Function Logic:
Function body:
void hdsHtag::Generate (hzChain& C, hzHttpEvent* pE, unsigned int& nLine) { _hzfunc("hdsHtag::Generate") ; hdsVE* pVE ; hzPair pa ; hzString S ; uint32_t n ; int32_t aLo ; int32_t aHi ; int32_t nA ; hzHtagform tagForm ; if (m_Line != nLine) { C.AddByte(CHAR_NL) ; for (n = m_Indent ; n ; n--) C.AddByte(CHAR_TAB) ; nLine = m_Line ; } C.AddByte(CHAR_LESS) ; C << m_Tag ; if (m_nAttrs) { aLo = m_pApp->m_VE_attrs.First(m_VID) ; if (aLo >&eq; 0) { aHi = m_pApp->m_VE_attrs.Last(m_VID) ; for (nA = aLo ; nA <&eq; aHi ; nA++) { pa = m_pApp->m_VE_attrs.GetObj(nA) ; C.AddByte(CHAR_SPACE) ; C << *pa.name ; C.AddByte(CHAR_EQUAL) ; C.AddByte(CHAR_DQUOTE) ; if (pE && (m_flagVE & VE_AT_ACTIVE)) C << m_pApp->ConvertText(*pa.value, pE) ; else C << *pa.value ; C.AddByte(CHAR_DQUOTE) ; } } } C.AddByte(CHAR_MORE) ; for (pVE = Children() ; pVE ; pVE = pVE->Sibling()) { if (pVE->m_strPretext) { S = pVE->m_strPretext ; if (pE && (pVE->m_flagVE & VE_PT_ACTIVE)) C << m_pApp->ConvertText(S, pE) ; else C << S ; } pVE->Generate(C, pE, nLine) ; } if (m_strContent) { S = m_strContent ; if (pE && m_flagVE & VE_CT_ACTIVE) C << m_pApp->ConvertText(S, pE) ; else C << S ; } S = *m_Tag ; tagForm = TagLookup(S) ; if (tagForm.rule != HTRULE_SINGLE) { if (nLine != m_Line) { C.AddByte(CHAR_NL) ; for (n = m_Indent ; n ; n--) C.AddByte(CHAR_TAB) ; nLine = m_Line ; } C.AddByte(CHAR_LESS) ; C.AddByte(CHAR_FWSLASH) ; C << m_Tag ; C.AddByte(CHAR_MORE) ; } }