static zfbool _ZFP_ZFXmlOutputElementChildNeedNewLine(ZF_IN const ZFXmlItem &xmlChild, ZF_IN const ZFXmlOutputFlags &flags, ZF_IN const ZFXmlVisitData &data) { if(flags.xmlElementTrimTagIfNoChildren && xmlChild.xmlIsNull()) { return zffalse; } if(!flags.xmlElementEndTagAtSameLineIfNoChildElement) { return zftrue; } if(xmlChild.xmlType() != ZFXmlType::e_XmlText) { return zftrue; } for(ZFXmlItem t = xmlChild.xmlSiblingNext(); !t.xmlIsNull(); t = t.xmlSiblingNext()) { if(t.xmlType() != ZFXmlType::e_XmlText) { return zftrue; } } for(ZFXmlItem t = xmlChild.xmlSiblingPrev(); !t.xmlIsNull(); t = t.xmlSiblingPrev()) { if(t.xmlType() != ZFXmlType::e_XmlText) { return zftrue; } } return zffalse; }