这样做的背景是我正在使用 Solr 搜索结果。结果以 XML 形式返回。我正在使用 XSL 转换来显示结果。
<table>
<thead>
<tr>
<th>Name</th>
<th>Age</th>
<th>Latitude</th>
<th>Longitude</th>
</tr>
</thead>
<xsl:for-each select="response/result/doc">
<xsl:sort select="str[@name='Name']"/>
<xsl:sort select="int[@name='Age']"/>
<xsl:sort select="???[@name='lat']"/>
<xsl:sort select="???[@name='lng']"/>
<tbody>
<tr>
<td><xsl:value-of select="str[@name='Name']"/></td>
<td><xsl:value-of select="int[@name='Age']"/></td>
<td><xsl:value-of select="???[@name='lat']"/></td>
<td><xsl:value-of select="???[@name='lng']"/></td>
</tr>
</tbody>
</xsl:for-each>
</table>
我最初将每个字段索引为字符串。一旦我更改它并将数字索引为整数,它们就不会显示在输出中。我完全猜测并使用 int ,因为我将它们索引为整数并且它有效。;)
以下是我在 Solr 中索引纬度和经度的数据类型:
<field name="lat" type="latLongDouble" indexed="true" stored="true"/>
<field name="lng" type="latLongDouble" indexed="true" stored="true"/>
我不确定任何可用于“???”的正确 XSL 数据类型 以上。
- 你能给我一份清单让我试试吗?
- 您能给我提供一种替代的 XSL 方法来显示输出吗?
非常感谢!
佩雷斯