XMLもXSLもXSLTも何も知らないので出来るのかわかりませんが。


Aに1・2という情報?属性?を付けて
Bに2・3を付けて
Cに1を付けて


1が付いているのはA・C
2が付いているのはA・B
3が付いているのはB

というように表示するにはどうすればいいでしょう?

このQ&Aに関連する最新のQ&A

A 回答 (1件)

私もXMLは素人なんで勉強がてらwebを参考にしつつ作成してみました。


以下のxmlファイルとxslファイルを用意しました。
data.xml
---ここから---
<?xml-stylesheet type="text/xsl" href="result.xsl"?>
<data>
<d id="A">
<info>1</info>
<info>2</info>
</d>
<d id="B">
<info>2</info>
<info>3</info>
</d>
<d id="C">
<info>1</info>
</d>
</data>
---ここまで---
result.xsl
---ここから---
<?xml version="1.0"?>
<xsl:stylesheet
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
version="1.0">
<xsl:template match="/data">
<html>
<body>
<table border="1">
<xsl:call-template name="set">
<xsl:with-param name="num" select="1"/>
</xsl:call-template>
<xsl:call-template name="set">
<xsl:with-param name="num" select="2"/>
</xsl:call-template>
<xsl:call-template name="set">
<xsl:with-param name="num" select="3"/>
</xsl:call-template>
</table>
</body>
</html>
</xsl:template>
<xsl:template name="set">
<xsl:param name="num"/>
<tr>
<td><xsl:value-of select="$num"/></td>
<xsl:for-each select="d[info=$num]">
<td><xsl:value-of select="@id"/> </td>
</xsl:for-each>
</tr>
</xsl:template>
</xsl:stylesheet>
---ここまで---
2ファイルを同じフォルダに保存し、IEなどでdata.xmlを開くとご期待通りの答えになっていると思います。
もっといい方法があると思いますが、
質問の内容のようなことは可能ということです。
私も勉強になりました。ありがとうございました(^^)

参考URL:http://www.w3.org/TR/xslt
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!


このカテゴリの人気Q&Aランキング

おすすめ情報