Я создал пользовательский шаблон с параметром инициализации, значение которого необходимо использовать несколько раз как есть, а иногда в строчной форме.
Это определение параметра, закодированное в файле template.xml пользовательского шаблона:
<parameter
id="itemClass"
name="ListView Item Name"
type="string"
constraints="class|unique|nonempty"
default="ItemClass"
help="The name of the class of the ListView item" />
и используется для генерации как файла классов java, так и связанного файла макета xml.
При использовании в качестве имени класса оно обычно пишется с заглавной буквы, и это не проблема для файла классов Java (т.е. MyItemClass.java).
Проблема возникает, когда связанный файл макета XMLсоздан потому, что его имя, использующее тот же параметр, не соответствует правилу всех строчных букв, применяемому к файлам ресурсов XML (MyItemClass_layout.xml вместо myitemclass_layout.xml).
Это операторы сборки, которые я используюиспользуя в recipe.xml.ftl файл шаблона:
<instantiate from="root/src/app_package/ItemClass.${ktOrJavaExt}.ftl"
to="${escapeXmlAttribute(srcOut)}/${itemClass}.java" />
<open file="${escapeXmlAttribute(srcOut)}/${itemClass}.${ktOrJavaExt}" />
<instantiate from="root/res/layout/item_layout.xml.ftl"
to="${escapeXmlAttribute(resOut)}/layout/${itemClass}_layout.xml" />
<open file="${escapeXmlAttribute(resOut)}/layout/${itemClass}_layout.xml" />
Поэтому мне нужно что-то, чтобы снять капитализацию $ {itemClass} во втором выражении, чтобы получить действительныйИмя файла XML.
Можно ли это сделать?