我四处寻找找到问题的解决方案,但我还有更多问题......
考虑以下XML:
<dynamicStuff>
<dyn id="name1">...</dyn>
<dyn id="name2">...</dyn>
<dyn id="name3">...</dyn>
<dyn id="name4">...</dyn>
</dynamicStuff>
Run Code Online (Sandbox Code Playgroud)
并假设我有一个XSLT文件,如下所示:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template name="name1">
...
</xsl:template>
<xsl:template name="name2">
...
</xsl:template>
<xsl:template name="name3">
...
</xsl:template>
<xsl:template name="name4">
...
</xsl:template>
</xsl:stylesheet>
Run Code Online (Sandbox Code Playgroud)
我想要做的是从SECOND XSLT文件动态确定要调用哪个模板,如下所示:
<xsl:variable name="templateName">
<xsl:value-of select="dyn/@id"/>
</xsl:variable>
<xsl:call-template name="$templateName"/>
Run Code Online (Sandbox Code Playgroud)
可悲的是它不起作用,相信我,当我说我尝试了很多不同的东西,虽然它听起来很简单,它也不起作用......
我错过了什么吗?
编辑:
我已成功完成以下操作:
<xsl:template name="staticName">
<xsl:param name="id" />
<xsl:if test="$id = 'name1'">....</xsl:if>
<xsl:if test="$id = 'name2'">....</xsl:if>
...
</xsl:template>
Run Code Online (Sandbox Code Playgroud)
以这种方式打电话:
<xsl:call-template name="staticName">
<xsl:with-param name="id" select="@id"/>
</xsl:call-template>
Run Code Online (Sandbox Code Playgroud)
针说这有多么不方便......首先我的代码将被绑定到那个staticName(想象一下我需要在十几个文件中调用这个函数)...其次我会在里面有一堆(un)相关的内容相同的模板,当它可能更加分离...一个噩梦升级系统uu
它做我想要的但不是我需要的方式......
提前感谢您对此事的任何启示!
我正在尝试将我的CD备份移动到我的备份硬盘.
要自动完成任务,我正在尝试创建批处理以使用CD标签复制文件,而不是弹出介质.
到目前为止代码看起来像这样:
@echo off
SET dest=F:\Backup\
d:
:: routine to retrieve volume label.
for /f "tokens=1-5*" %%1 in ('vol') do (
set vol=%%6 & goto done
)
:done
:: create destination folder
set dest=%dest%%vol%
mkdir "%dest%"
:: copy to destiny folder
xcopy "d:" "%dest%" /i /s /exclude:c:\excludes.txt
::eject CD
c:
Run Code Online (Sandbox Code Playgroud)
我被困在弹射部分.我正在尝试弹出CD,因为当复制完成时我想要一条清晰的线来引起我的注意(我想打开托盘是一个好的).
任何想法如何使用批处理?或任何其他方式"引起注意"到复制事件的结束?
谢谢 :)