问题标签 [apply-templates]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
xslt - 改进的 XSL 脚本与 XML 文件中的链接和应用模板
这是一些 XSL 脚本:
如您所见,它链接到另一个 XML 文档以供参考。这是文件中链接的一个示例:
潜在的用户可能想要引用 XML 中的信息并以他们喜欢的方式显示它,但我想向他们展示最简单的方法。
如您所见,有几个标准:
Week
(年年月日)Mode
(Midweek
,Weekend
或Weekly
)Template
(0 或更高)
以上将过滤到正确的作业周。然后,确定实际分配:
Index
(数值)IndexType
(Fixed
,CustomFixed
或Custom
)
我可以以任何方式(可能使用变量)使用模板来简化代码,因为它变得重复?
xml - 如何在 XSLT 中使用“xsl:apply-templates”获取 XML 属性值
我有以下 XML 并希望将 XML 属性的值code="MA"
从<FullNameVerifiesToAddress>
node 和<FullNameVerifiesToSSN>
node 获取到 node<Summary>
中。
我现在使用以下 XSLT 将<ReportTime>
from<Header>
节点放入<summary>
,但我还需要 Summary 节点中的上述属性。
我想要作为 OUTPUT 的 XML 应该类似于
xslt-1.0 - 应用符合两个条件的模板
我需要列出所有 INST 名称,但前提是“onlyTesters”节点不存在于上述 XML 正文的“inst/idef”部分中。
我知道这很奇怪,但我无法更改收到的 XML。
XML:
XSL:
我没有对手。
这是我期望的结果:
c# - 当单击其中的按钮时,如何不关闭 xtk:SplitButton 的自定义弹出窗口?
我有一个覆盖 OnApplyTemplate 的自定义控件。在其中,我尝试访问子模板的子模板,但它们似乎没有被加载。我希望:当点击 a 的内部时,不会PART_IncreaseButton
关闭,只是让点击对点击做出反应。Popup
xtk:SplitButton
Popup
Button
CustomIntegerUpDown
并且CustomSplitButton
源自 Xceed Extended WPF Toolkit。CustomIntegerUpDown 没有改变样式或模板或代码隐藏,目前它的唯一目的是做我上面所说的,但我只是在它的开始。以下是所有相关来源。
我试过这个:
之后 IncrementButton 为空,尽管在即时窗口中:
Utils.FindChild<Popup>(this, "PART_Popup")
返回从Popup
获得的GetTemplateChild("PART_Popup")
。
然后
Utils.FindChild<ButtonSpinner>(PartPopup, "PART_Spinner")
返回null
。
Utils.FindChild<CustomIntegerUpDown>(PartPopup, "MyCustomIntegerUpDown")
返回null
。
VisualTreeHelper.GetChildrenCount(PartPopup)
返回0
。
PartPopup.ApplyTemplate()
返回false
。
我也看到了这个,我不确定是否值得尝试这种方式。
FindChild
这是(取自这里):
在CustomSplitButton.xaml.cs我有这个:
可视化树是这样的:
CustomSplitButton的样式如下(xmlns:xtkThemes="clr-namespace:Xceed.Wpf.Toolkit.Themes;assembly=Xceed.Wpf.Toolkit"
):
在OnApplyTemplate
我希望能够在this
. 但我没有找到办法做到这一点。
我的相关问题在这里。
更新 1
示例的起点已更新(它使用TryFindVisualChildElementByName
BionicCode 答案中的扩展方法):
上面使用的ApplyTemplateRecursively
扩展方法,有2个版本:
不工作版本
是否有可能使这个版本以某种方式工作?我认为它更有效率。
工作版本
现在我正在尝试解决实际问题。
更新 2
我已经报告了这个问题。
xslt - 应用模板模棱两可的匹配警告
我收到警告
模糊规则匹配
来自模板copyReference和身份转换的处理器。
这是一个 xml 片段:
我想要做的只是复制从@sameas-attribute 引用的节点,而没有@stem.dir 和@stem.sameas。可能有不同的节点 local-names() 将应用于。所以我宁愿不在copyReference模板的@match-attribute 中指定节点名称。我想如果我通过@select-attribute 传递我需要的节点并添加@mode,它将只匹配我需要的。实际上它有效,但是当我收到警告时,应该是错误的。
html - 嵌套 XSL 应用模板的问题
我正在尝试使用 xsl 将 xml 文件转换为 html。有一次,我需要填充来自特定标签的标题列表(具有相同的嵌套结构)。
我的 xml 文件的一部分如下。
XSL 代码:
期望的输出:
实际输出:
似乎模板被一遍又一遍地应用于整个嵌套内容。我无法弄清楚这里可能是什么问题。
wpf - 自定义控件在xaml中使用时如何设置DP值?(声明时)
我的英语水平很差,因为我不是以英语为母语的人。我希望你能理解。
我创建了一个覆盖标题栏形状的自定义窗口。部分xaml代码如下图所示。
除了一个问题外,此控件运行良好。问题是不能设置DP的值。控件的部分cs代码如下图所示。
我试图追踪问题并找到了原因。首先,我在主项目中加载了自定义控件,并在自定义控件上设置了 DP 的值,如下所示。
然后,我执行了该项目,并按如下方式处理了序列。
- 自定义窗口已创建。(构造函数调用)
- 设置了 CustomWindow 的 TitleBarHeight 值
- 调用 CustomWindow 的 OnApplyTemplate()。
根据我的确认,序列 2 是问题的起点。
在序列 2 中,WPF 试图设置 CustomWindow 的 TitleBarHeight 值。因此调用下面的代码。
但是此时,TitleBar 还没有被实例化,所以 TitleBarHeight 值没有被设置。结果,它将被转移到下面的例程中。
之后,调用 OnApplyTemplate() 并实例化 TitleBar。
总结:执行<custom:CustomWindow TitleBarHeight="20">逻辑时,此时CustomWindow的TitleBar没有被实例化,所以TitleBarHeight的值也没有设置。
我应该怎么做才能解决这个问题?我希望能得到你的帮助。
感谢您的阅读。
xslt-2.0 - 仅转换 XML 的最后一个元素并在 XSLT 中复制其余元素
我有一个如下所示的 XML -
根元素内的列数可以变化。它也可以达到 col9。我的要求是修改最后一列并像传入 XML 一样复制其他列。
到目前为止,我有类似的东西,我将值分配为变量中的最后一个元素,然后在到达最后一个位置时尝试调用它-
但这对我不起作用。只给我一列修改后的值。请帮忙。所需的结果应如下所示,其中最后一列具有变量的值。
xml - 在应用之前从模板中添加条件
我在 xslt 2.0 上有这个代码。
我的 xml 是这样从 xquery 构建的:
如果模板结果中的 $test 为真,我想在 div 发布包装器中显示我的出版物,如果它为假,我想在前发布包装器中显示我的出版物。
在 <xsl:when test="result"> 我测试了几件事。使用 <xsl:when test="result/publication/@test='true'">,我有出版物,像 <xsl:when test="result/publication/@test='aaa'"> 我没有没有任何出版物。所以我假设在我的 xsl:when 我可以检查 $test 是否存在及其值。但是使用此代码,即使我知道有任何出版物,我也没有任何出版物。
charts - MQL4 错误 4024 ChartOpen() 不返回图表 ID
最近我遇到了一个新的有趣的问题。代码功能:打开新图表 --> 应用模板 --> 截图 --> 关闭图表。
但是在 30% 中会发生错误。错误 4024。 图表打开,但不返回图表 ID。我编写了一个小解决方法,我检查现在是否打开了割草图表,如果是,我只选择最新的。但后来我在应用图表模板时出现错误 4024。所以不是很好的解决方案...
4024 - ERR_INTERNAL_ERROR - 内部错误
但是是否有一个干净的版本来避免该错误或更好的解决方法?
用于处理图表的完整代码:因为它可能是消息队列的问题......