问题标签 [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.

0 投票
1 回答
35 浏览

xslt - 改进的 XSL 脚本与 XML 文件中的链接和应用模板

这是一些 XSL 脚本:

如您所见,它链接到另一个 XML 文档以供参考。这是文件中链接的一个示例:

潜在的用户可能想要引用 XML 中的信息并以他们喜欢的方式显示它,但我想向他们展示最简单的方法。

如您所见,有几个标准:

  • Week(年年月日)
  • Mode( Midweek,WeekendWeekly)
  • Template(0 或更高)

以上将过滤到正确的作业。然后,确定实际分配:

  • Index(数值)
  • IndexType( Fixed,CustomFixedCustom)

我可以以任何方式(可能使用变量)使用模板来简化代码,因为它变得重复?

0 投票
1 回答
41 浏览

xml - 如何在 XSLT 中使用“xsl:apply-templates”获取 XML 属性值

我有以下 XML 并希望将 XML 属性的值code="MA"<FullNameVerifiesToAddress>node 和<FullNameVerifiesToSSN>node 获取到 node<Summary>中。

我现在使用以下 XSLT 将<ReportTime>from<Header>节点放入<summary>,但我还需要 Summary 节点中的上述属性。

我想要作为 OUTPUT 的 XML 应该类似于

0 投票
2 回答
50 浏览

xslt-1.0 - 应用符合两个条件的模板

我需要列出所有 INST 名称,但前提是“onlyTesters”节点不存在于上述 XML 正文的“inst/idef”部分中。

我知道这很奇怪,但我无法更改收到的 XML。

XML:

XSL:

我没有对手。

这是我期望的结果:

0 投票
1 回答
139 浏览

c# - 当单击其中的按钮时,如何不关闭 xtk:SplitButton 的自定义弹出窗口?

我有一个覆盖 OnApplyTemplate 的自定义控件。在其中,我尝试访问子模板的子模板,但它们似乎没有被加载。我希望:当点击 a 的内部时,不会PART_IncreaseButton关闭,只是让点击对点击做出反应。Popupxtk:SplitButtonPopupButton

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

示例的起点已更新(它使用TryFindVisualChildElementByNameBionicCode 答案中的扩展方法):

上面使用的ApplyTemplateRecursively扩展方法,有2个版本:

不工作版本

是否有可能使这个版本以某种方式工作?我认为它更有效率。

工作版本

现在我正在尝试解决实际问题。

更新 2

我已经报告了这个问题

0 投票
1 回答
87 浏览

xslt - 应用模板模棱两可的匹配警告

我收到警告

模糊规则匹配

来自模板copyReference身份转换的处理器。

这是一个 xml 片段:

我想要做的只是复制从@sameas-attribute 引用的节点,而没有@stem.dir 和@stem.sameas。可能有不同的节点 local-names() 将应用于。所以我宁愿不在copyReference模板的@match-attribute 中指定节点名称。我想如果我通过@select-attribute 传递我需要的节点并添加@mode,它将只匹配我需要的。实际上它有效,但是当我收到警告时,应该是错误的。

0 投票
1 回答
42 浏览

html - 嵌套 XSL 应用模板的问题

我正在尝试使用 xsl 将 xml 文件转换为 html。有一次,我需要填充来自特定标签的标题列表(具有相同的嵌套结构)。

我的 xml 文件的一部分如下。

XSL 代码:

期望的输出:

实际输出:

似乎模板被一遍又一遍地应用于整个嵌套内容。我无法弄清楚这里可能是什么问题。

0 投票
1 回答
54 浏览

wpf - 自定义控件在xaml中使用时如何设置DP值?(声明时)

我的英语水平很差,因为我不是以英语为母语的人。我希望你能理解。

我创建了一个覆盖标题栏形状的自定义窗口。部分xaml代码如下图所示。

除了一个问题外,此控件运行良好。问题是不能设置DP的值。控件的部分cs代码如下图所示。

我试图追踪问题并找到了原因。首先,我在主项目中加载了自定义控件,并在自定义控件上设置了 DP 的值,如下所示。

然后,我执行了该项目,并按如下方式处理了序列。

  1. 自定义窗口已创建。(构造函数调用)
  2. 设置了 CustomWindow 的 TitleBarHeight 值
  3. 调用 CustomWindow 的 OnApplyTemplate()。

根据我的确认,序列 2 是问题的起点。

在序列 2 中,WPF 试图设置 CustomWindow 的 TitleBarHeight 值。因此调用下面的代码。

但是此时,TitleBar 还没有被实例化,所以 TitleBarHeight 值没有被设置。结果,它将被转移到下面的例程中。

之后,调用 OnApplyTemplate() 并实例化 TitleBar。

总结:执行<custom:CustomWindow TitleBarHeight="20">逻辑时,此时CustomWindow的TitleBar没有被实例化,所以TitleBarHeight的值也没有设置。

我应该怎么做才能解决这个问题?我希望能得到你的帮助。

感谢您的阅读。

0 投票
1 回答
22 浏览

xslt-2.0 - 仅转换 XML 的最后一个元素并在 XSLT 中复制其余元素

我有一个如下所示的 XML -

根元素内的列数可以变化。它也可以达到 col9。我的要求是修改最后一列并像传入 XML 一样复制其他列。

到目前为止,我有类似的东西,我将值分配为变量中的最后一个元素,然后在到达最后一个位置时尝试调用它-

但这对我不起作用。只给我一列修改后的值。请帮忙。所需的结果应如下所示,其中最后一列具有变量的值。

0 投票
0 回答
39 浏览

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 是否存在及其值。但是使用此代码,即使我知道有任何出版物,我也没有任何出版物。

0 投票
1 回答
239 浏览

charts - MQL4 错误 4024 ChartOpen() 不返回图表 ID

最近我遇到了一个新的有趣的问题。代码功能:打开新图表 --> 应用模板 --> 截图 --> 关闭图表

但是在 30% 中会发生错误。错误 4024。 图表打开,但不返回图表 ID。我编写了一个小解决方法,我检查现在是否打开了割草图表,如果是,我只选择最新的。但后来我在应用图表模板时出现错误 4024。所以不是很好的解决方案...

4024 - ERR_INTERNAL_ERROR - 内部错误

但是是否有一个干净的版本来避免该错误或更好的解决方法?

用于处理图表的完整代码:因为它可能是消息队列的问题......