以下は、reasoncase要素が繰り返している入力XMLです。reasonCaseのコードが申請者から始まり、申請者を作成している場合。xsltのフィールド値に基づいて繰り返される要素を作成する
<input>
<case>
<reasonCase>
<code>Applicant#1234</code>
<key>asd345</key>
</reasonCase>
<reasonCase>
<code>Applicant#1234</code>
<key>asd34567</key>
</reasonCase>
<reasonCase>
<code>Applicant#3456</code>
<key>asd1111</key>
</reasonCase>
<reasonCase>
<code>Applicant#7889</code>
<key>asd9999</key>
</reasonCase>
</case>
</input>
期待出力=同じ値のreasonCase下コードもreasonCase /コードに基づい
<output>
<case>
<applicant>
<objectid>1234</objectid>
<reason>
<key>asd345</key>
</reason>
<reason>
<key>asd34567</key>
</reason>
</applicant>
<applicant>
<objectid>3456</objectid>
<reason>
<key>asd1111</key>
</reason>
</applicant>
<applicant>
<objectid>7889</objectid>
<reason>
<key>asd9999</key>
</reason>
</applicant>
</case>
</output>
同じ出願人の要素でなければならない出力と対応する要素に同じ出願人の要素であるべきですstart-with(申請者)は、申請者とそれに対応する要素の繰り返しを作成する必要があります。
は、私は私が得た出力が期待される出力を得るために私を助けてください
<output>
<Applicants>
<objectId>1234</objectId>
<reason>
<key>asd345</key>
</reason>
</Applicants>
<Applicants>
<objectId>1234</objectId>
<reason>
<key>asd345</key>
</reason>
</Applicants>
<Applicants>
<objectId>3456</objectId>
<reason>
<key>asd1111</key>
</reason>
</Applicants>
<Applicants>
<objectId>7889</objectId>
<reason>
<key>asd9999</key>
</reason>
</Applicants>
</output>
以下の通りです
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml"/>
<xsl:template match="/">
<output>
<xsl:for-each select="/input/case/reasonCase">
<xsl:variable name="code">
<xsl:value-of select="./code"/>
</xsl:variable>
<xsl:choose>
<xsl:when test="starts-with(./code,'Applicant')">
<Applicants>
<objectId>
<xsl:value-of select="substring-after(/*/*/*[code=$code]/code,'Applicant#')"/>
</objectId>
<reason>
<key><xsl:value-of select="/*/*/*[code=$code]/key"/></key>
</reason>
</Applicants>
</xsl:when>
</xsl:choose>
</xsl:for-each>
</output>
</xsl:template>
</xsl:stylesheet>
をしようとした以下のXSLTを見つけてください。 Xslを1.0用
正確にあなたはこれにこだわっていますか? –
私は上記のような要件を持っています。私は同じロジックを実装することができません。ロジックの助けが必要です。 – user1731504
あなたのコードを書くのはここにはありません。具体的な質問や難しさがある場合は、あなたの試行を示して、それを修正する方法を尋ねます。 –