Мне нужно сгенерировать таблицу xsl для XML ниже, для атрибутов fname и lname. Я думаю, что я сделал что-то не так в xpath. Может ли кто-нибудь помочь мне, написав таблицу xsl для xml ниже ...
<sparql>
<head>
<variable name="s"/>
<variable name="fname"/>
<variable name="lname"/>
</head>
<results>
<result>
<binding name="s">
<uri>http://tn.gov.in/Person/41</uri>
</binding>
<binding name="fname">
<literal>G</literal>
</binding>
<binding name="lname">
<literal>Vn</literal>
</binding>
</result>
<!-- more result elements -->
</results>
</sparql>
как у меня есть сервлет, который запрашивает семантические данные, используя jena ... вывод сервлета выше xml ... при настройке формата вывода у Jena есть опция, в которой можно стилизовать XML, отображая файл xsl ..
теперь, когда я использовал пример Лахлана, я получил вывод, как я написал в этом комментарии ..
ничего, мой вывод должен быть в форме таблицы, в которой должны отображаться fname, lname
как
fname lname
------------------------
M v
G v
и т.д ...
какую ошибку я должен был совершить?
это мой xsl:
<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="html" encoding="UTF-8"/>
<xsl:template match="sparql/results">
<html>
<head><title>persons</title>
</head>
<body>
<table width="40%" border="1">
<THEAD>
<TR>
<TD><B>first name</B></TD>
<TD><B>last name</B></TD>
</TR>
</THEAD>
<TBODY>
<xsl:for-each select="result">
<TR>
<TD><xsl:value-of select="binding[@name='fname']/literal/text()" /></TD>
<TD><xsl:value-of select="binding[@name='fname']/literal/text()" /></TD>
</TR>
</xsl:for-each>
</TBODY>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Мой вывод:
http://tn.gov.in/Person/41 Gn http://tn.gov.in/Person/43 Vn http://tn.gov.in/Person/37 Mn http://tn.gov.in/Person/39 Vn
я не помещаю имя = 's' в определение xsl .. но я получаю это также в выводе, который также не форматируется как таблица ..
ДА У меня есть пространство для корня sparql ..
<sparql xmlns="http://www.w3.org/2005/sparql-results#">
<head>
<variable name="s"/>
<variable name="fname"/>
<variable name="lname"/>
<variable name="title"/>
<variable name="mno"/>
<variable name="community"/>
</head>
<results>
<result>
<binding name="s">
<uri>http://tn.gov.in/Person/45</uri>
</binding>
<binding name="fname">
<literal>/literal>
</binding>
<binding name="lname">
<literal>K</literal>
</binding>
<binding name="title">
<literal>Mr.</literal>
</binding>
<binding name="mno">
<literal>876876</literal>
</binding>
<binding name="community">
<literal>Fe</literal>
</binding>
</result>
как мне теперь соответствовать шаблону?