- ベストアンサー
XMLから変換結果を得るXSLスタイルシートの作り方
- XMLからXSLスタイルシートを使用して変換結果を得る方法について解説します。
- XSLスタイルシートを作成する際には、試験番号を抜き出す、合格基準が70より大きい試験を抜き出す、試験番号のリストを出題数が多い順にソートするという具体的な方法を使用します。
- これらの方法を使用することで、XMLから求める変換結果を得ることができます。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
3. 1の試験番号のリストを出題数が多い順にソートして次のように列挙する <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="Shift_JIS" indent="yes" /> <xsl:template match="/"> <xsl:element name="試験"> <xsl:for-each select="/試験/情報"> <xsl:sort select="出題数" lang="ja" data-type="number" order="descending"/> <xsl:element name="試験番号"> <xsl:attribute name="出題数"><xsl:value-of select="./出題数" /></xsl:attribute> <xsl:value-of select="./試験名/@試験番号" /> </xsl:element> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
その他の回答 (2)
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
1. 試験番号だけを抜き出して次のように列挙する。 <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="Shift_JIS" indent="yes" /> <xsl:template match="/"> <xsl:element name="試験"> <xsl:for-each select="/試験/情報/試験名"> <xsl:element name="試験番号"><xsl:value-of select="@試験番号" /></xsl:element> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
2. 合格基準が70より大きい試験を抜き出して、次のように列挙する <?xml version="1.0" encoding="Shift_JIS"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" version="1.0" encoding="Shift_JIS" indent="yes" /> <xsl:template match="/"> <xsl:element name="試験"> <xsl:attribute name="難易度">やや難</xsl:attribute> <xsl:for-each select="/試験/情報"> <xsl:if test="合格基準[.> 70]"> <xsl:element name="試験名"><xsl:value-of select="./試験名/@試験番号" /></xsl:element> </xsl:if> </xsl:for-each> </xsl:element> </xsl:template> </xsl:stylesheet>
お礼
変換することができました。 ご丁寧にありがとうございました。