Hallo Dave,
Hat jemand eine Idee wie ich das lösen könnte?
Probiere es bezogen auf das XML-Beispiel so (beide Durchläufe erzeugen die zueinander passenden IDs):
<xsl:template match="fieldset">
<xsl:for-each select="input[@type='text']">
<label for="{generate-id()}"><xsl:value-of select="@label"/></label>
<xsl:if test="position()!=last()">, </xsl:if>
</xsl:for-each>
<xsl:for-each select="input[@type='text']">
<input type="text" id="{generate-id()}" />
</xsl:for-each>
</xsl:template>
Mit Saxon-HE 9.2 erhalten:
<label for="d1e3">PLZ</label>, <label for="d1e5">Ort</label>
<input type="text" id="d1e3"/><input type="text" id="d1e5"/>
Grüße,
Thomas