我有一個似乎與svg命名空間有關的問題。一種方式適用於FireFox,另一種方式適用於Chrome,但兩種方式都不適用。我曾嘗試添加xmlns =「http://www.w3.org/2000/svg」,但這並不會改變結果。xsl:template&svg命名空間在Firefox和Chrome之間的分歧
在下面的模板中,'use'和'text'標籤的前綴爲'svg':.這適用於FireFox,但不適用於Chrome。如果我刪除'svg:'前綴,那麼它可以在Chrome中運行,但不能在FireFox中運行。
有沒有一種方法適用於兩者?
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns="http://www.w3.org/1999/xhtml" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:svg="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink">
<xsl:output method="html" encoding="UTF-8" indent="no"/>
<xsl:template name="attribute-header">
<svg:use xlink:href="#attribute-value-section-banner" x="{$location-x}" y="{$banner-y}"/>
<svg:text class="attribute-label-text" x="{$center-line}" y="{$label-y}">
請發佈足夠的代碼(XML + XSLT)以使我們能夠重現問題。並解釋究竟「不行」的意思。 – 2015-02-07 22:20:34
使用XSLT和一個應該是(X)HTML和SVG混合的結果,您需要決定想要的結果文檔類型,如果您希望它是使用像您似的前綴的名稱空間的XML要做到這一點,那麼你應該使用''。如果您想創建允許您使用HTML和SVG元素的HTML5,那麼您需要確保使用沒有前綴的SVG元素,因爲HTML5不支持前綴和命名空間,就像您嘗試使用'svg:use'一樣。 –
2015-02-08 11:13:33