【问题标题】:What does this prefix mean in front of my C# function这个前缀在我的 C# 函数前面是什么意思
【发布时间】:2013-04-10 16:39:40
【问题描述】:

str:前缀是什么意思?就在mycsharpextmethod前面

<xsl:template name="name1">
        <xsl:param name="text" select="." />
        <xsl:value-of disable-output-escaping="yes" select="str:mycsharpextmethod($text)" />
    </xsl:template>

【问题讨论】:

    标签: c# xslt


    【解决方案1】:

    如果没有看到整个文档,我会猜测它是一个命名空间引用(以避免与任何其他名为mycsharpextmethod 的方法发生冲突)。来自W3 Namespaces in XML 1.0 Spec(强调我的):

    在符合本规范的 XML 文档中,一些名称 (对应于非终结名称的结构)必须给出 限定名...前缀提供了名称空间前缀部分 限定名称,并且必须与命名空间 URI 引用相关联 在命名空间声明中。 LocalPart 提供 限定名称的本地部分。

    作为一个(稍微不相关的)示例,EXSLT String Library 使用 str: 前缀正确命名任何与字符串相关的函数。

    【讨论】:

    • @CodeCaster - 这是不正确的。 &lt;xsl:value-of&gt; 元素的 select 属性完全能够将命名空间引用作为其值的一部分进行处理。
    • 我只能发现select属性必须包含一个expression,没有提到命名空间。但我不是 XSLT 领域的专家,所以我撤回了我的评论,也许我正在监督一些事情,因为例如在 this answer 中提到了它。
    • @CodeCaster - 看看这个 SO 问题/答案以获得更多信息:stackoverflow.com/questions/2585533/xsl-and-namespaces
    猜你喜欢
    • 1970-01-01
    • 2010-10-15
    • 2010-10-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多