Привет, у меня есть xml, как показано ниже.
<setField identifier=”2”>
<fieldValues>
<fieldValue>
<field>event</field>
<value>
<boundVariable>$event1</boundVariable>
</value>
<type>java.lang.String</type>
</fieldValue>
</fieldValues>
<variable>append</variable>
</setField>
Мне нужно конвертировать в следующий формат.
<freeForm><text>append.setEvent($event1);</freeForm></text>
Я пытаюсь использовать следующий подход.
<xsl:template match="setField" name="setFieldTemplate">
<xsl:element name="freeForm">
<xsl:element name="text">
<xsl:value-of select="variable" />
<xsl:text>.set</xsl:text>
<xsl:value-of select="concat(translate(substring(field, 1, 1)"/>
<xsl:text>(</xsl:text>
<xsl:value-of select="boundVariable"/>
<xsl:text>);</xsl:text>
</xsl:element>
</xsl:element>
</xsl:template>
Здесь мое требование основано на имени поля, мне нужно сгенерировать соответствующий оператор, как показано ниже. Для этого мне нужно изменить первый символ имени поля на верхний при генерации в следующем формате.
append.setEvent ($ event1);
Здесь именем поля является «событие», и мне нужно сгенерировать setEvent (для которого я объединяюсь со строкой «set»). Но мне нужно сначала изменить имя полябуква в верхнюю (событие из события). Когда я пытаюсь использовать приведенный выше шаблон с функцией перевода, я сталкиваюсь с недопустимым выражением xpath.
Пожалуйста, предоставьте мне несколько указателей, чтобы сделать то же самое.