我有一個用於xml的xsl文件。 xml文件的位置應該是可配置的(這是通過在xml中配置樣式表的href路徑來完成的),但是xsl使用了一些圖像和其他一些javaScript文件,並且需要具有它們的路徑。路徑就在樣式表文件的附近,所以一旦我可以得到xsl目錄,我就可以向他們發送消息。 例如: 在我的xml中我有:?xml-stylesheet type =「text/xsl」href =「。\ Files \ Style \ test.xsl」> 我想從xsl內指向「。\ Files \樣式」爲圖像位置 耕犁我可以做到這一點從XSL文件中獲取樣式表目錄 - 用於可配置的xml位置
1
A
回答
1
下面是一個XSLT 1.0溶液(XSLT 2.0具有用於字符串處理更強大的功能,如正則表達式):
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="text"/>
<xsl:template match="processing-instruction()">
<xsl:variable name="vpostHref"
select="substring-after(., 'href=')"/>
<xsl:variable name="vhrefData1"
select="substring($vpostHref,2)"/>
<xsl:variable name="vhrefData2"
select="substring($vhrefData1, 1,
string-length($vhrefData1)-1
)"/>
<xsl:call-template name="stripBackwards">
<xsl:with-param name="pText"
select="$vhrefData2"/>
<xsl:with-param name="pTextLength"
select="string-length($vhrefData2)"/>
</xsl:call-template>
</xsl:template>
<xsl:template name="stripBackwards">
<xsl:param name="pText"/>
<xsl:param name="pStopChar" select="'\'"/>
<xsl:param name="pTextLength"/>
<xsl:choose>
<xsl:when test="not(contains($pText, $pStopChar))">
<xsl:value-of select="$pText"/>
</xsl:when>
<xsl:otherwise>
<xsl:variable name="vLastChar"
select="substring($pText,$pTextLength,1)"/>
<xsl:choose>
<xsl:when test="$vLastChar = $pStopChar">
<xsl:value-of select="substring($pText,1,$pTextLength -1)"/>
</xsl:when>
<xsl:otherwise>
<xsl:call-template name="stripBackwards">
<xsl:with-param name="pText"
select="substring($pText,1,$pTextLength -1)"/>
<xsl:with-param name="pTextLength" select="$pTextLength -1"/>
<xsl:with-param name="pStopChar" select="$pStopChar"/>
</xsl:call-template>
</xsl:otherwise>
</xsl:choose>
</xsl:otherwise>
</xsl:choose>
</xsl:template>
</xsl:stylesheet>
將此轉換應用於以下XML文檔時:
<?xml-stylesheet type="text/xsl" href=".\Files\Style\test.xsl"?>
<t/>
正確的結果產生:通過單擊如果提供的答案解決了這個問題,你可以接受* *它:
.\Files\Style
+0
謝謝!!! 看起來正是我想要的,我會試試看 – user271077 2010-03-04 06:19:50
相關問題
- 1. Sharepoint - 配置xsl樣式文件
- 2. 如何通過使用xsl文件從xml文件獲取值 - 文件位於不同的目錄中
- 3. 獲取位於同一項目中的XML文件的配置值
- 4. Umbraco - 獲取配置文件目錄
- 5. 從XML文件獲取模式位置(noNamespaceSchemaLocation)
- 6. jquery ui組件獲取目錄位置
- 7. 從中獲取`.bat`文件的位置
- 8. 如何從文檔目錄中獲取xml文件的列表
- 9. Docbook - 如何從xsl樣式表中檢索輸入xml文件
- 10. 在java項目中放置xsl文件的位置?
- 11. 從XSL樣式表
- 12. SSIS XML配置文件位置
- 13. xml文件在js項目目錄結構中的位置?
- 14. 獲取從文件目錄
- 15. xsl樣式表在瀏覽器中對於xml文件不可見
- 16. 中的WebPack配置獲取文件目錄名
- 17. 如何從Startup.cs中的XML文件中提取配置設置
- 18. 根據tweepy中的配置文件從位置提取推文
- 19. 從子目錄配置中獲取/設置AppSetting
- 20. 可可:獲取NSStatusBar項目的位置
- 21. 從ListView中的項目獲取位置
- 22. .rpmmacros文件的可配置位置
- 23. 如何獲取XML文件中XSD錯誤的文件位置?
- 24. 從XML文件讀取Gtk3應用程序的配置設置
- 25. XML錯誤XSL樣式表
- 26. 從位置獲取位置
- 27. 從放置jar文件的特定目錄獲取文件
- 28. 使用.xsl樣式表在excel中打開多個.xml文件
- 29. 如何更改虛擬目錄的配置文件位置?
- 30. 獲取nuget包目錄的位置
看到解決您的問題:) – 2010-03-01 14:39:54
提示問題左上角的複選標記。根據您目前獲得的積分,您也可以升級它(我認爲您必須擁有50分,才能享有優惠權)。 :) – 2010-03-04 13:30:56
謝謝, 我仍然需要你的幫助:) 我有一個xsl trnafering到我的xsl中的一個html我有幾個模板和一些java腳本函數什麼是正確的方式來傳遞信息到其他模板和jScript - 如果我在模板匹配的場景中有問題嗎?因爲我沒有辦法走上這條路。這可能是一個初學者的問題,但我在這方面很新。我很感謝你的幫助 – user271077 2010-03-07 19:10:09