これは私の入力xmlです。xml には、最大 3 つのノードと最小 1 つのノードを含めることができます。以下のように、入力 xml が持つことができる最小ノード
<Root>
<node>uniquename</node>
</Root>
入力 xml が持つことができる最大ノードは次のとおりです。Uniquename を含むノードは常に存在します。
以下のサンプルの望ましい出力のための私のサンプル入力xml
<Root>
<node>abc</node>
<node>e1</node>
<node>uniquename2</node>
</Root>
値「abc」は、すべての入力 xml に共通です。値 e1 は、バージョン番号のようなものです。e1 から e9 までを持つことができます。また、e1.1 から e9.9 のようなマイナー バージョンを持つこともできます。3 番目のノードは一意です。私の出力は以下のテキストである必要があり、以下のサンプルは目的の出力として
Unique name with version from the xml - uniquename2e1
version number - e1
common name - Present in the input
入力 xml ノードの順序はさまざまです。つまり、バージョン番号が一番上にくる場合もあれば、一意の名前が一番上にくる場合もあります。通称も同様です。それにもかかわらず、私の出力にはuniquenameの後にバージョン番号が続くはずです。入力 xml に共通名がない場合、出力テキストはそれが存在しないことを示す必要があります。
バージョン番号が入力にない場合、バージョン番号の行は出力から空白になる可能性があります
Unique name with version from the xml - uniquename3
common name - Present/Absent in the input.
私は xslt 2.0 プロセッサを持っていませんが、私の xslt プロセッサは xmlns:regexp="http://exslt.org/regular-expressions" をサポートしています。バージョン管理部分を見つけるためにこれを使用することを考えていました。
編集
一意の名前は、バージョン番号のパターンに従ってい^e\d(\.\d)*$
ないか、一般的な名前ではありません