Я работаю с xml / xsl, и я реализовал ссылку. Ссылка ссылается на другой файл XML. С браузером Firefox я не могу открыть ссылку.
Я искал в сети и обнаружил, что вы должны добавить file://
к ссылке.
Это действительно хорошо работает для абсолютных путей, но с относительными путями не может разрешить ссылку.
Пример кода:
file1.xml в папке D: / try
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="file:///D:/try/layout.xsl"?>
<s1>
<s>
<uri>D:/tt.xml</uri>
</s>
</s1>
layout.xsl в папке D: / try
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet
version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns="http://www.w3.org/1999/xhtml">
<xsl:output method="html" indent="yes" encoding="UTF-8"/>
<xsl:template match="/">
<html>
<xsl:element name="body">
<xsl:apply-templates select="s1"/>
</xsl:element>
</html>
</xsl:template>
<xsl:template match="s1">
<xsl:apply-templates select="s"/>
</xsl:template>
<xsl:template match="s">
<table>
<tr><th>Uri: </th><td>
<xsl:element name="a">
<xsl:attribute name="href"><xsl:value-of select="uri"/></xsl:attribute>
<div><xsl:value-of select="uri"/></div>
</xsl:element>
</td></tr>
</table>
</xsl:template>
</xsl:stylesheet>
tt.xml в папке D: / try
<?xml version="1.0" encoding="UTF-8"?>
<s1>
<s>
<h1>HELLO</h1>
</s>
</s1>
Если вы замените uri D:/tt.xml
в file1.xml на относительный путь tt.xml
, он будет работать.
Я хотел бы иметь функцию, которая преобразует URI в приемлемый формат.
С уважением,
Marky