Я хочу добавить страницу CV на своем веб-сайте. Я написал cv в формате xml и использовал xslt для описания его представления (так просто до сих пор). Но единственная трудность заключается в том, чтобы поместить xml-текст в html-страницу. Содержание CV должно вписываться в ссылку div с помощью кнопок меню. Таким образом, вывод должен выглядеть как <div><table>...</table></div>
Как мне это сделать? и что это лучший способ сделать это (javascript или php...)
cv.xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="cv.xsl"?>
<cv xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="cv.xsd">
<category name="Web">
<skill name="HTML">5</skill>
<skill name="CSS3">4</skill>
<skill name="Javascript">2</skill>
</category>
</cv>
cv.xsl:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<table border="1">
<xsl:for-each select="cv/category">
<td><b><xsl:value-of select="@name"/></b></td>
<xsl:for-each select="skill">
<tr>
<td><xsl:value-of select="@name"/></td>
<td><xsl:value-of select="."/></td>
</tr>
</xsl:for-each>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
Нашли решение!
http://www.w3schools.com/ajax/ajax_xmlfile.asp
Наконец, я использовал PHP вместо Ajax:
$dom = new DOMDocument;
$dom->Load('cv.xml');
$category = $dom->getElementsByTagName("category");
foreach ($category as $cat) {
echo "<div class='category'><span>".$cat->getAttribute("name")."</span>";
$skills = $cat->getElementsByTagName("skill");
foreach ($skills as $skill) {
$name = $skill->getAttribute("name");
$level = $skill->nodeValue;
echo "<div class='skill stars".$level."'>".$name."</div>";
}
echo "</div>";
}
?>