質問

I want, from my archetype, to create an xml file which name has two variables concatenated together.

Example: archetype-metadata.xml

<requiredProperties>
    <requiredProperty key="category"/>
    <requiredProperty key="description"/>
</requiredProperties>

Given category="MyCategory" and description="MyDescription", I want my file to be named "MyCateogryMyDescription.xml". Not "MyCategory-MyDescription.xml" nor anything else with something between the two.

The reason behind this weird, specific, inflexible requirement is, well, obviously backward compatibility with standards I don't want to touch.

My first try was the obvious __category____description__.xml, but it turns out that the generated file is named "MyCategory__description__.xml". If I add something between them, like a dash as __category__-__description__.xml it resolves correctly to "MyCategory-MyDescription.xml", but that's not what I want as I said before.

役に立ちましたか?

解決

you could define an additional requiredProperty, which default value corresponds to the combination of the description and category tags values (i.e. accessible by means of the usual ${...} notation).

Therefore, considering the above cited example, you could insert the following snippet in the archetype-metadata.xml file

<requiredProperties>
    <requiredProperty key="category"/>
    <requiredProperty key="description"/>
    <requiredProperty key="categoryDescriptionComposition">
        <defaultValue>${category}${description}</defaultValue>
    </requiredProperty>
</requiredProperties>

and finally name your file as __categoryDescriptionComposition__.xml.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top