Tenho um arquivo HTML que desejo converter em um formulário.
<p class="textfield">Text field</p>
<p class="checkboxfield">Check Box field</p>
<p class="drop_downlistfield">Drop-down list field 1</p>
<p class="drop_downlistfield">Drop-down list field 2</p>
<p class="drop_downlistfield">Drop-down list field 3</p>
<p class="radiobuttonfield">Radio Button field 1</p>
<p class="radiobuttonfield">Radio Button field 2</p>
<p class="radiobuttonfield">Radio Button field 3</p>
<p class="submitbuttonfield">Submit button</p>
Para fazer isso, tenho que criar grupos: os parágrafos com class="drop_downlistfield" devem se tornar um grupo:
<select>
<option value="Drop-down list field 1">Drop-down list field 1</option>
<option value="Drop-down list field 2">Drop-down list field 2</option>
<option value="Drop-down list field 3">Drop-down list field 3</option>
</select>
e os parágrafos com class="radiobuttonfield" devem se tornar outro grupo, agrupados pelo atributo @name.
<input type="radio" id="ID_1929_6" name="radiogroup"></input>
<label for="ID_1929_6">Radio Button field 1</label>
<input type="radio" id="ID_1929_7" name="radiogroup"></input>
<label for="ID_1929_7">Radio Button field 2</label>
<input type="radio" id="ID_1929_8" name="radiogroup"></input>
<label for="ID_1929_8">Radio Button field 3</label>
Posso criar um grupo:
<xsl:for-each-group select="table|p|ul|ol" group-adjacent="(@class='radiobuttonfield')">
mas tenho dificuldade em criar dois. Isso cria um grupo que contém ambos:
<xsl:for-each-group select="table|p|ul|ol" group-adjacent="(@class='radiobuttonfield') or (@class='drop_downlistfield')">
Como posso dividir este fragmento de entrada em dois grupos separados?
Basta agrupá-los pelo valor desse atributo @class. Algo assim: