Return Type | Function name | Arguments |
---|---|---|
void | hzXmlNode::Export_r | (hzDocXml*,hzChain&,unsigned int&,) |
Declared in file: hzDocument.h
Defined in file : hzDocXml.cpp
Function Logic:
Function body:
void hzXmlNode::Export_r (hzDocXml* pDoc, hzChain& Z, unsigned int& relLine) { _hzfunc("hzXmlNode::Export_r") ; hzAttrset ai ; hzXmlNode* pSub ; const char* anam ; const char* aval ; uint32_t n ; hzEcode rc = E_OK ; if (!pDoc) hzexit(E_CORRUPT, "No host document supplied") ; if (m_nLine > relLine) { Z.AddByte(CHAR_NL) ; for (n = m_nCol ; n >&eq; 4; n -= 4) Z.AddByte(CHAR_TAB) ; relLine = m_nLine ; } Z.Printf("<%s", *m_Name) ; for (ai = this ; ai.Valid() ; ai.Advance()) { anam = ai.Name() ; aval = ai.Value() ; Z.Printf(" %s="%s"" , anam, aval) ; } if (!m_Children && !m_fixContent) { Z << "/>" ; return ; } Z << ">" ; if (m_Children) { for (pSub = GetFirstChild() ; rc == E_OK && pSub ; pSub = pSub->Sibling()) { Z << pSub->txtPtxt() ; pSub->Export_r(pDoc, Z, relLine) ; } } if (m_fixContent) { if (m_nAnti > m_nLine) { Z.AddByte(CHAR_NL) ; for (n = m_nCol ; n > 4; n -= 4) Z.AddByte(CHAR_TAB) ; relLine = m_nAnti ; } Z << m_fixContent ; } if (m_nAnti > m_nLine) { Z.AddByte(CHAR_NL) ; for (n = m_nCol ; n >&eq; 4; n -= 4) Z.AddByte(CHAR_TAB) ; relLine = m_nAnti ; } Z.Printf("</%s>", *m_Name) ; }