Hallo Thomas,
Dann bekommt der OP aber ein "PHP-Kindelement" von input, also etwa <input ...><?php ... ?></input>
Ehm, ja.
AFAIK ist das mit XSLT-Mitteln nur so hinzubekommen:
<xsl:text disable-output-escaping="yes"><input type="checkbox" onchange="this.form.submit()" name="</xsl:text><xsl:value-of select="@id"/><xsl:text disable-output-escaping="yes">" <?php getState('box1')?> /></xsl:text>
Damit bekommt er leider auch nur ein (zumindest Saxon produziert dies):
<input type="checkbox" onchange="this.form.submit()" name="" ><?php getState('box1')?> />
Das einzige wo ich das <?php ...?> jetzt auf die Schnelle "reinbekommen" habe ist:
<xsl:variable name="createCheckbox">
<![CDATA[
<input type="checkbox" onchange="this.form.submit()"
]]>
name="<xsl:value-of select="@id" />"
<![CDATA[
<?php getState('box1')?> />
]]>
</xsl:variable>
<xsl:value-of select="$createCheckbox" />
Allerdings erzeugt dies logischer Weise einen Text und ein <xsl:value-of select="$createCheckbox" disable-output-escaping="yes" /> hat denselben Effekt wie dein Bsp. also ein <input type="checkbox" onchange="this.form.submit()" name=""><?php getState('box1')?> />
Woher und warum der Prozessor hier den unnötigen ">" einfügt weiss ich jetzt auch nicht.
Ich sehe jetzt an sich nur eine Möglichkeit: er speichert den Wert von name="" in der Ausgabe in einer PHP-Variable und erstellt dann das <input> komplett mit PHP dabei holt er den Wert für name="" aus der Variable.
Grüße
Thomas