Index: /trunk/doc/manual/docbook-refentry-to-C-help.xsl
===================================================================
--- /trunk/doc/manual/docbook-refentry-to-C-help.xsl	(revision 79608)
+++ /trunk/doc/manual/docbook-refentry-to-C-help.xsl	(revision 79609)
@@ -246,15 +246,7 @@
       <xsl:choose>
         <xsl:when test="parent::group"><xsl:value-of select="$arg.or.sep"/></xsl:when>
-        <xsl:when test="parent::arg and self::group"></xsl:when>
         <xsl:when test="ancestor-or-self::*/@sepchar"><xsl:value-of select="ancestor-or-self::*/@sepchar"/></xsl:when>
         <xsl:otherwise><xsl:text> </xsl:text></xsl:otherwise>
       </xsl:choose>
-    </xsl:if>
-
-    <!-- Make sure group choice and arg choice matches. -->
-    <xsl:if test="self::arg and ancestor::group">
-      <xsl:if test="@choice != ancestor::group/@choice and (@choice = 'opt' or @choice = '' or ancestor::group/@choice = 'opt' or ancestor::group/@choice = '')">
-        <xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Mismatching group and arg choice: "<xsl:value-of select="@choice"/>" (arg) vs "<xsl:value-of select="ancestor::group/@choice"/>" (group)</xsl:message>
-      </xsl:if>
     </xsl:if>
 
@@ -277,5 +269,5 @@
     <xsl:choose>
       <xsl:when test="@rep = 'norepeat' or not(@rep) or @rep = ''"/>
-      <xsl:when test="@rep = 'repeat'">               <xsl:value-of select="$arg.rep.repeat.str"/></xsl:when>
+      <xsl:when test="@rep = 'repeat'">                 <xsl:value-of select="$arg.rep.repeat.str"/></xsl:when>
       <xsl:otherwise><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Invalid rep choice: "<xsl:value-of select="@rep"/>"</xsl:message></xsl:otherwise>
     </xsl:choose>
@@ -288,4 +280,8 @@
         <xsl:when test="@choice = 'req'">               <xsl:value-of select="$arg.choice.req.close.str"/></xsl:when>
       </xsl:choose>
+      <!-- Add a space padding if we're the last element in a repeating arg or group -->
+      <xsl:if test="(parent::arg or parent::group) and not(following-sibiling)">
+        <xsl:text> </xsl:text>
+      </xsl:if>
     </xsl:if>
   </xsl:template>
Index: /trunk/doc/manual/docbook2latex.xsl
===================================================================
--- /trunk/doc/manual/docbook2latex.xsl	(revision 79608)
+++ /trunk/doc/manual/docbook2latex.xsl	(revision 79609)
@@ -894,5 +894,5 @@
       <xsl:message terminate="yes">sbr only supported inside cmdsynopsis (because of hangindent)</xsl:message>
     </xsl:if>
-    <xsl:text>\linebreak</xsl:text>
+    <xsl:text>\newline</xsl:text>
   </xsl:template>
 
@@ -959,5 +959,5 @@
   </xsl:template>
 
-  <!-- duplicated in docbook2latex.xsl -->
+  <!-- duplicated in docbook-refentry-to-C-help.xsl -->
   <xsl:template match="arg|group">
     <!-- separator char if we're not the first child -->
@@ -969,12 +969,16 @@
       </xsl:choose>
     </xsl:if>
+
     <!-- open wrapping -->
-    <xsl:choose>
-      <xsl:when test="not(@choice) or @choice = ''">  <xsl:value-of select="$arg.choice.def.open.str"/></xsl:when>
-      <xsl:when test="@choice = 'opt'">               <xsl:value-of select="$arg.choice.opt.open.str"/></xsl:when>
-      <xsl:when test="@choice = 'req'">               <xsl:value-of select="$arg.choice.req.open.str"/></xsl:when>
-      <xsl:when test="@choice = 'plain'"/>
-      <xsl:otherwise><xsl:message terminate="yes">Invalid arg choice: "<xsl:value-of select="@choice"/>"</xsl:message></xsl:otherwise>
-    </xsl:choose>
+    <xsl:variable name="fWrappers" select="not(ancestor::group)"/>
+    <xsl:if test="$fWrappers">
+      <xsl:choose>
+        <xsl:when test="not(@choice) or @choice = ''">  <xsl:value-of select="$arg.choice.def.open.str"/></xsl:when>
+        <xsl:when test="@choice = 'opt'">               <xsl:value-of select="$arg.choice.opt.open.str"/></xsl:when>
+        <xsl:when test="@choice = 'req'">               <xsl:value-of select="$arg.choice.req.open.str"/></xsl:when>
+        <xsl:when test="@choice = 'plain'"/>
+        <xsl:otherwise><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Invalid arg choice: "<xsl:value-of select="@choice"/>"</xsl:message></xsl:otherwise>
+      </xsl:choose>
+    </xsl:if>
 
     <!-- render the arg (TODO: may need to do more work here) -->
@@ -985,12 +989,19 @@
       <xsl:when test="@rep = 'norepeat' or not(@rep) or @rep = ''"/>
       <xsl:when test="@rep = 'repeat'">               <xsl:value-of select="$arg.rep.repeat.str"/></xsl:when>
-      <xsl:otherwise><xsl:message terminate="yes">Invalid rep choice: "<xsl:value-of select="@rep"/>"</xsl:message></xsl:otherwise>
-    </xsl:choose>
+      <xsl:otherwise><xsl:message terminate="yes"><xsl:call-template name="error-prefix"/>Invalid rep choice: "<xsl:value-of select="@rep"/>"</xsl:message></xsl:otherwise>
+    </xsl:choose>
+
     <!-- close wrapping -->
-    <xsl:choose>
-      <xsl:when test="not(@choice) or @choice = ''">  <xsl:value-of select="$arg.choice.def.close.str"/></xsl:when>
-      <xsl:when test="@choice = 'opt'">               <xsl:value-of select="$arg.choice.opt.close.str"/></xsl:when>
-      <xsl:when test="@choice = 'req'">               <xsl:value-of select="$arg.choice.req.close.str"/></xsl:when>
-    </xsl:choose>
+    <xsl:if test="$fWrappers">
+      <xsl:choose>
+        <xsl:when test="not(@choice) or @choice = ''">  <xsl:value-of select="$arg.choice.def.close.str"/></xsl:when>
+        <xsl:when test="@choice = 'opt'">               <xsl:value-of select="$arg.choice.opt.close.str"/></xsl:when>
+        <xsl:when test="@choice = 'req'">               <xsl:value-of select="$arg.choice.req.close.str"/></xsl:when>
+      </xsl:choose>
+      <!-- Add a space padding if we're the last element in a repeating arg or group -->
+      <xsl:if test="(parent::arg or parent::group) and not(following-sibiling)">
+        <xsl:text> </xsl:text>
+      </xsl:if>
+    </xsl:if>
   </xsl:template>
 
Index: /trunk/doc/manual/en_US/man_VBoxManage-clonevm.xml
===================================================================
--- /trunk/doc/manual/en_US/man_VBoxManage-clonevm.xml	(revision 79608)
+++ /trunk/doc/manual/en_US/man_VBoxManage-clonevm.xml	(revision 79609)
@@ -45,5 +45,9 @@
       <arg rep="repeat">--group=<replaceable>group</replaceable>,</arg>
 
-      <arg>--mode=<group choice='plain'><arg choice='plain'>machine</arg><arg choice='plain'>machinechildren</arg><arg choice='plain'>all</arg></group></arg>
+      <group choice='opt'>
+        <arg choice='plain'>--mode=machine</arg>
+        <arg choice='plain'>--mode=machinechildren</arg>
+        <arg choice='plain'>--mode=all</arg>
+      </group>
 
       <arg>--name=<replaceable>name</replaceable></arg>
