2015-04-20 2 views
0

Я пытаюсь создать простую связанную с XML и XSL-программу, но XML отлично использует XSL. Данные из XML не включены в таблицу.Мой простой XML возвращает пустые данные

Файл успешно показывает заголовок таблицы, но содержимое не отображается. Это правильный способ получить все значения из XML в XSLT?

database.xml:

<?xml version="1.0" encoding="UTF-8"?> 
<?xml-stylesheet type="text/xsl" href="style.xsl"?> 
<Apple> 
<prdt> 
<name>iPhone</name> 
<typ>Mobile Phone</typ> 
<price>60,000</price> 
</prdt> 
<prdt> 
<name>iPod</name> 
<typ>Music Player</typ> 
<price>60,000</price> 
</prdt> 
<prdt> 
<name>iPad</name> 
<typ>Tablet</typ> 
<price>60,000</price> 
</prdt> 
<prdt> 
<name>iTunes</name> 
<typ>Software</typ> 
<price>60,000</price> 
</prdt> 
</Apple> 

style.xsl:

<?xml version="1.0" encoding="UTF-8"?> 
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/WSL/Transform" version="1.0"> 
<xsl:template match="/"> 
<html> 
    <head> 
     <title>database.xml</title> 
    </head> 
    <body> 
    <center> 
     <table border="1"> 
      <tr> 
       <th><h1>Device Name</h1></th> 
       <th><h1>Device Type</h1></th> 
       <th><h1>Price</h1></th> 
      </tr> 
      <xsl:for-each select="Apple/prdt"> 
      <tr> 
       <td><h1><xsl:value-of select="name"/></h1></td> 
       <td><h1><xsl:value-of select="typ"/></h1></td> 
       <td><h1><xsl:value-of select="price"/></h1></td> 
      </tr> 
      </xsl:for-each> 
     </table> 
    </center> 
    </body> 
</html> 
</xsl:template> 
</xsl:stylesheet> 

Пожалуйста, помогите мне.

ответ

1

Ваш XSL в порядке, просто у вас неправильное пространство имен. Заменить

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/WSL/Transform" version="1.0"> 

с

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> 
+0

Спасибо, что была глупая ошибка! :) – Arjun

Смежные вопросы