问题标签 [msxsl]
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.
xml - 在 XML 文件上运行 XSL 处理器时保留 xmlns 位置
我想使用 xslt 将节点添加到 XML 文档。我使用 msxsl 作为处理器。XML 文档具有以下结构:
XSL 规则插入所需的节点:
(编辑:添加了 XSL 命名空间)
但结果已将命名空间属性从Project
移至PropertyGroup
。
(编辑:我想要Project
和PropertyGroup
输入相同。)
有必要避免它。我怎样才能只添加一个节点而不改变结构?另外,我希望像其他节点一样插入新节点。
batch-file - 当我在我的 DBML 文件上运行 msxsl.exe 时,它会引入回车符,这会弄乱最后的 SQLMetal.exe 步骤
我刚刚从 VS 2015 升级到 VS 2019(以及 Windows 7 到 Windows 10)。我的项目是在批处理文件中使用 SQLMetal.exe 和 msxsl.exe分三个步骤创建和修改 DBML:
- 使用 SQLMetal.exe 生成 DataModel.dbml 文件。
- 使用 msxsl.exe 添加数据库转换。
- 使用 SQLMetal.exe 生成 DataModel.cs 文件。
当我在新环境中运行它时,它给了我一个奇怪的错误:
经过多次试验和错误,我意识到 msxls.exe(我刚刚下载的)在 DBML 文件中的结束列和关联标记之前添加了回车符。这似乎是导致最终 SQLMetal.exe 步骤出错的原因。
我实际上可以在第 2 步之后打开 DataModel.dbml 文件,并将 "\r\n < /Column>" 上的所有内容替换为 "< /Column>" 和 "\r\n< /Assocation>" 到 "< /Association> ",然后第 3 步似乎有效。显然,我不想每次都这样做。
那么,我需要做什么才能运行 msxsl.exe 并且不让它在结束 Column 和 Association 标签之前添加回车符?
msxls 命令如下:
msxsl 的版本是否重要?
batch-file - 从批处理文件调用 MSXSL
我想创建一个循环遍历包含 xml 文件的文件夹的批处理文件,然后调用 msxsl 来修改它们,并在修改 xml 文件后,复制到具有原始文件名的另一个文件夹。
我试过这个:
但这给了我这个错误:
这是因为输出文件名周围有双引号。我该如何解决这个问题?
javascript - VBScript 在 Chrome 中不工作,但在 IE 中工作
我在 vbscrpt 中有一堆代码。我需要在 IE 和 Chrome 中工作。我怎样才能使这个功能在 Chrome 和 IE 中工作
html - 如何在 Windows 10 中使用 msxsl.exe 获取 UTF8 html
我正在使用 msxsl.exe 从 XML 和 XSL 动态生成 HTML 文件。我已经使用 CreateProcess API 用 C++ 编写了代码,并在其中调用了 msxsl.exe。由于在 Windows 7 中输出是 UTF8,我以相同的编码创建了所有相关文件(如 CSS 和 JavaScript)。一切正常。当我在 Windows 10 (LTSC) 中运行相同的应用程序时,没有加载 JavaScript,因为现在使用 UCS-2LE BOM 编码生成 HTML。我尝试在创建进程之前调用 SetConsoleOutputCP(CP_UTF8)。这并没有解决我的问题。无论操作系统如何,我如何获得 UTF8 输出?
javascript - 在 msxsl 中将节点作为参数传递:来自 XSLT for-each 的脚本 javascript 函数不起作用
我正在使用 MSXML6,并且我已将 AllowXsltScript 设置为 true,以便在我的 VB 程序中启用脚本。
给定以下 XML 输入:
以下 XSL 无法按预期工作:
问题似乎在于在 for-each 中为节点传递“this”。更确切地说,当它试图这样做node.getAttribute(attribute);
时,它就会失败。
我得到的错误是“找不到与此错误代码关联的文本。XML 文档必须具有顶级元素。” 在我的 VB 程序中使用 MSXML2.DOMDocument60.transformNodeToObject API 在 Visual Studio 2017 中。
请注意,我不能使用任何在线 XSL 解析器,因为它们默认禁用脚本功能。
对此有什么想法吗?
欣赏它!
xslt - 变量或参数“XYZ”不能在 XSL 文件的同一模板中定义两次
这是我看到的非常奇怪的问题。当我执行命令时:
这在我的机器上运行(Windows 10 Enterprise,版本 20H2),但是当我在具有相同操作系统的其他机器上运行相同时,它说:
为什么会这样?两台机器的代码库完全相同。