1
我正在使用XSLT將xml文件轉換爲其他格式的.NET項目。使用XSLT,如何使用.NET項目中的變量將屬性與正則表達式匹配?
我有原始的XML像這樣(這僅僅是相關部分):
<video>
<part ids="pt1">
<title>Title1</title>
</part>
<part ids="pt2 pt3">
<title>Title2</title>
</part>
<part ids="pt4">
<title>Title3</title>
</part>
</video>
在我的XSLT文件我有一個變量$partid
被設定罰款,像pt2
。然後我想用它來找到在<part>
內的<title>
,其中包含屬性ids
中的變量$partid
。
我是用下面原來這樣做:
<xsl:value-of select="/video/part[contains(@ids, $partid)]/title"/>
不過,我現在已經意識到這個過程中遇到問題,如果$partid
是一樣的東西pt1
但存在與<part>
元素ids
爲pt12
以及一個<part>
元素,ids
爲pt1
。因爲這將符合兩者。
我想我可能只是將其交換使用matches()
代替和使用這樣的正則表達式:
matches(@ids, '(^'+$partId+' | '+$partId+' | '+$partId+'$ |^'+$partId+'$)')
但是,似乎我只限於XSLT 1.0不允許matches()
。有關我如何繼續進行此操作的任何想法?
非常感謝。
真棒解決方案。它的簡單性很棒。希望我已經想到了。非常感謝。 – AndrewPolland 2014-10-08 08:07:54