在 XSLT 中生成 GUID
我需要使用 XSLT 生成 GUID,如果需要 C#,有人知道如何最好地做到这一点吗?
它是为 HTML 项目生成唯一的 ID。
I need to generate a GUID with XSLT and if needed C#, does anyone know how to best do this?
It is to generate unique IDs for HTML items.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
XSLT
generate-id
函数 返回一个唯一标识文档中节点的字符串。请注意规范中的这些警告:但是,如果您需要的只是唯一标识输出中的每个元素,那么
generate-id
就足够了。The XSLT
generate-id
function returns a string that uniquely identifies a node in the document. Note these warnings from the spec:However, if all you need is to uniquely identify each element in your output, then
generate-id
is sufficient.C# 提供了一个方便的 Guid.NewGuid() 静态方法。我希望任何 XSLT 实现都会大量利用某些特定于系统的组件,因为 Guid 通常部分基于硬件/MAC 地址/等生成。在底层机器上。
C# provides a handy Guid.NewGuid() static method. I'd expect any XSLT implementation would heavily leverage some system-specific component since Guids are often generated in part based on hardware/MAC address/etc. on the underlying machine.
我最终只是使用扩展方法并将 Guid.NewGuid() 包装在静态方法中,然后从我的 XSLT 中调用它,一旦我弄清楚扩展方法是如何工作的,这就很容易了。
I ended up just using an extension method and wrapping Guid.NewGuid() in a static method, then calling this from my XSLT, it was easy enough once I figured out how extension methods work.
使用 C#,可以通过 使用 msxsl:script 的脚本块。
With C#, it can be achieved easily with Script Blocks Using msxsl:script.