好的我正在嘗試使用XSLT將XHTML文檔轉換爲RDF/XML(不要求,這是一個分配),其中RDF文件的信息位於XHTML中的元標記中文件。我已經完成了我的第一個XPath查詢,以查找<rdf:Description>
的about
屬性的值。我在一個單獨的網站上測試了XPath查詢,並返回了正確的結果。但是,當我嘗試將它合併到我的XSLT中時,結果是一個空字符串。XSL返回值不匹配
我只是在正確的方向尋找一個微調。我沒有看到我錯在哪裏。以下是示例XHTML文檔。
<?xml version="1.0" encoding="ISO-8859-1" ?>
<?xml-stylesheet href="TN6_Q6.xsl" type="text/xsl" ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<link rel="schema.DC" href="http://purl.org/dc/elements/1.1/" />
<meta name="DC.title" content="le titre de mon document" />
...
<title>...</title>
</head>
<body>
...
</body>
</html>
這就是我到目前爲止建立的XSLT。我知道這看起來很糟糕,但再次......這是這項任務。
<?xml version="1.0" encoding="ISO-8859-1"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xhtml="http://www.w3.org/1999/xhtml">
<xsl:template match="*">
<html><body><pre>
<?xml version="1.0" encoding="ISO-8859-1" ?>
<rdf:RDF xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" >
<rdf:Description rdf:about="
<!-- THIS LINE -->
<xsl:value-of select="html/*[local-name()='head']/*[local-name()='link']/@href"/>">
</rdf:Description>
</rdf:RDF>
</pre></body></html>
</xsl:template>
</xsl:stylesheet>
您可以測試的XPath就在這裏: http://www.xpathtester.com/saved/85785aab-0449-472e-a94f-77ee49d4e330
你說得對最後一部分。我試圖對它過於通用,但我實際上可以假定提供的文檔將是XHTML。我無法做到這一點,但我會測試更多的東西。 – ApplePie
是的!最後的編輯做到了。將「*」更改爲「/」是解決方案!非常感謝。啓用時,我會在5分鐘內接受。 – ApplePie