- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:次の要素の値取得)
XSLで要素の値を取得する方法は?
このQ&Aのポイント
- XSLを使用してXML内の要素の値を取得する方法がわかりません。具体的に、XSL内で特定の要素の値を取得し、他の要素が存在するかどうか判断したい場合に困っています。
- XML内の要素の値の取得方法がXSLではわからない問題に直面しています。具体的には、XSL内で特定の要素の値を取得しながら、他の要素が存在するかどうかをチェックする必要があります。
- XSLを使用して特定の要素の値を取得する方法が分かりません。具体的には、XSL内で要素の値を取得する際に、他の要素が存在するかどうかを判定する方法を知りたいです。
- みんなの回答 (1)
- 専門家の回答
質問者が選んだベストアンサー
こんな感じでしょうか。 <xsl:choose> <xsl:when test="../../data/num2"> データあり </xsl:when> <xsl:otherwise> データなし </xsl:otherwise> </xsl:choose> 判断にはxsl:choose命令を使います。子要素のxsl:when命令で test属性が真になればその内側を実行します。 (複数のxsl:whenを記述可。最初に真になるもののみ実行) いずれも当てはまらない場合はxsl:otherwiseの内側を実行します。 test属性で要素を指定するとその要素があれば真となります。 質問のとおりのXMLに対して「num2要素があるかどうか」であれば 上記のように指定することで判断できます。 補足ですが、1件分はdata要素でまとめられているので、「次の data要素があるかどうか」判断する場合はtest属性で test="../following-sibling::data" と記述すると、現在処理中のnum1要素を含んでいるdata要素と 同じ階層の後ろにdata要素があるかどうかという条件になります。
お礼
遅くなりましたが、ありがとうございました。 解決しました。 # test="../following-sibling::data" の説明大変勉強になりました。