| 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) ;
}