Это неправильно :
<input type="rad" name="RadGroup"
value="<xsl:value-of select='productOptionInfo'/>" />
и это тоже неправильно :
<input type="rad" name="RadGroup"
value='<xsl:value-of select="productOptionInfo"/>' />
В XML этоявляется синтаксической ошибкой, имеющей (неэкранированную) разметку в качестве значения атрибута .См. W3 XML Spec - здесь и здесь .
Два правильных способа сделатьэто (называемые AVT или шаблоны значений атрибутов ):
<input type="rad" name="RadGroup" value="{productOptionInfo}"/>
и
<xsl:attribute name="input">
<xsl:value-of select="productOptionInfo"/>
</xsl:attribute>
В XSLT 2.0 разрешено писать :
<xsl:attribute name="input" select="productOptionInfo"/>
Первый способ выше - самый короткий и самый читаемый , когда имя элемента статически известно(заранее).
Второй способ должен использоваться, когда имя элемента статически не известно и должно генерироваться с помощью инструкции <xsl:element>
.