In XSLT 1.0 this is difficult: search for "XSLT positional grouping".
In 2.0, you can do
<xsl:template match="*">
<xsl:copy>
<xsl:for-each-group group-adjacent="self::procplace or self::proctopic">
<xsl:choose>
<xsl:when test="current-grouping-key()">
<meeting>
<xsl:apply-templates select="current-group()"/>
</meeting>
</xsl:when>
<xsl:otherwise>
<xsl:apply-templates select="current-group()"/>
</
</
</
</
</
Michael Kay
http://www.saxonica.com/
Author, XSLT Programmer's Reference and XPath 2.0 Programmer's Reference