The following XSLT 1.0 conversion gives you what seems like the desired result:
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:strip-space elements="*"/>
<xsl:output indent="yes" method="html"/>
<xsl:key name="list" match="TEXTFORMAT[LI]" use="generate-id(
(self::*|preceding-sibling::*)[LI][
not(preceding-sibling::*[1][LI])
][last()]
)" />
<xsl:template match="node()|@*">
<xsl:copy>
<xsl:apply-templates select="node()|@*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="root">
<div>
<xsl:apply-templates />
</div>
</xsl:template>
<xsl:template match="P">
<div>
<xsl:attribute name="style">
<xsl:apply-templates select="@*" mode="css" />
</xsl:attribute>
<xsl:apply-templates/>
</div>
</xsl:template>
<xsl:template match="@ALIGN" mode="css">
<xsl:value-of select="concat('text-align:', ., ';')"/>
</xsl:template>
<xsl:template match="@*" mode="css" />
<xsl:template match="@LETTERSPACING|@KERNING"/>
<xsl:template match="TEXTFORMAT[LI]">
<xsl:variable name="adjacent" select="key('list', generate-id())" />
<xsl:if test="$adjacent">
<ul>
<xsl:apply-templates select="$adjacent/LI" />
</ul>
</xsl:if>
</xsl:template>
<xsl:template match="LI">
<li><xsl:apply-templates/></li>
</xsl:template>
<xsl:template match="TEXTFORMAT">
<xsl:apply-templates/>
</xsl:template>
</xsl:stylesheet>
Result:
<div>
<div style="text-align:LEFT;">
edfg
</div>
<div style="text-align:LEFT;">
sdgfdsgsds
</div>
<ul>
<li>
sdfgdsg
</li>
<li>
dsgdfgdsfg
</li>
<li><FONT FACE="Lato" SIZE="12" COLOR="#4B4B4B">errytrtyr</FONT></li>
</ul>
<div style="text-align:LEFT;">
sdgfdsgsds
</div>
<ul>
<li><FONT FACE="System" SIZE="16" COLOR="#4B4B4B">nm,hjku
<FONT FACE="Lato" SIZE="12"></FONT></FONT></li>
<li><FONT FACE="System" SIZE="16" COLOR="#4B4B4B"><B>hgjgj</B><FONT FACE="Lato" SIZE="12"></FONT></FONT></li>
</ul>
<div style="text-align:CENTER;"><FONT FACE="Lato" SIZE="12" COLOR="#4B4B4B">centered text</FONT></div>
</div>
The key to the solution, literally, is this design:
<xsl:key name="list" match="TEXTFORMAT[LI]" use="generate-id(
(self::*|preceding-sibling::*)[LI][
not(preceding-sibling::*[1][LI])
][last()]
)" />
TEXTFORMAT[LI] TEXTFORMAT[LI], , .. , TEXTFORMAT[LI] .
, <xsl:template match="TEXTFORMAT[LI]">, - TEXTFORMAT[LI].