当前位置: 首页 > 知识库问答 >
问题:

在命名空间定义中使用的变量

张翰音
2023-03-14

我在xslt中需要这个,但是xmlns:s=“{$service-uri}”没有提取:


    <xsl:variable name="service-uri" select="'http://something/'"/>
    ...
    <xsl:template match="cxf:cxfEndpoint[last()]">
        <xsl:copy>
            <xsl:apply-templates select="node()|@*"/>     
        </xsl:copy>
        <cxf:cxfEndpoint 
            xmlns:s="{$service-uri}"
            endpointName="s:{$service-name}Port"
            id="{$service-name}_RemoteEndpoint"
            serviceName="s:{$service-name}"
            wsdlURL="wsdl/remote/{$service-name}.wsdl">
            <cxf:properties>
                <entry key="continuationTimeout" value="120000"/>
                <entry key="mtom-enabled" value="true"/>
                <entry key="dataFormat" value="PAYLOAD"/>
            </cxf:properties>
        </cxf:cxfEndpoint>
    </xsl:template>

如何提取名称空间定义中的service-uri变量?扎梅克

共有1个答案

衡子安
2023-03-14

属性值模板不能用于命名空间声明。请记住,XSLT是XML,名称空间声明xmlns:x=“...”必须由XML解析器和XSLT处理器理解。

在XSLT 2.0中,可以使用xsl:namespace指令动态创建名称空间节点:

<xsl:namespace name="s" select="$service-uri"/>

如果你是1.0版,那就更难了。您可以通过在相关的命名空间中创建一个元素节点来实现:

<xsl:variable name="dummy">
  <xsl:element name="s:dummy" namespace="{$service-uri}"/>
</xsl:variable>

然后将相关的命名空间节点复制到新元素

<xsl:copy-of select="exslt:node-set($dummy/*/namespace::s)"/>
 类似资料:
  • 为什么using指令在包含在匿名命名空间中时表现得好像出现在全局范围?

  • 但是,如果实用工具类是从Qt类派生的,我会出现链接错误。我认为问题出在Q_OBJECT宏上,如果我不添加它,我就不会得到错误。但是在任何Qt派生类中都必须/建议使用Q_OBJECT宏。 我怎样才能避免这个ISUE?有没有其他方法来拥有一个具有文件作用域的实用程序类? 用于显示错误的简单示例:CMyClass类使用从QWidget派生的实用工具类(名为CUtility)。 错误有: LNK2001:

  • 我正在尝试将管道分隔字符串转换为xml,这很好。但是,我没有得到我在下面展示的实际输出。在我的输出中,父标记与包名一起生成,它也没有生成我想要的名称空间。你能帮我把平面文件转换成我期望的精确输出吗。 CamelConfig。JAVA ConverterRoute。JAVA 来源txt Test.java 输出 测验xml 预期产量 测验xml

  • 我想在java中以编程方式生成xml字符串,其名称空间是自定义的,如下所示,所有数据必须以xml格式动态出现。我怎样才能达到这样的成就? 我经历过像https://howtodoinjava.com/jaxb/write-object-to-xml/这样的例子,但是当xml生成时,它的起点是 但我想要开始和结束标记

  • 本文向大家介绍thinkphp autoload 命名空间自定义 namespace,包括了thinkphp autoload 命名空间自定义 namespace的使用技巧和注意事项,需要的朋友参考一下 使用thinkPHP过程中,一些自定义的类库和第三方类库需要找一个合适的位置放置,放到系统默认的org文件夹感觉不太好,破坏了thinkPHP的原生目录。 就看了一下官方手册,可以在模块或者应用的

  • 引入Maven依赖 <dependency> <groupId>org.apache.shardingsphere</groupId> <artifactId>shardingsphere-jdbc-core-spring-namespace</artifactId> <version>${shardingsphere.version}</version> </depend