Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/spring/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何借助XSLT在xml中创建会话id_Xml_Spring_Xslt_Spring Integration - Fatal编程技术网

如何借助XSLT在xml中创建会话id

如何借助XSLT在xml中创建会话id,xml,spring,xslt,spring-integration,Xml,Spring,Xslt,Spring Integration,我期望的XML输出(需要使用XSLT转换的XML): 试验 试验 @@@@@@@@@@ @@@@@ 试验 TRST 试验 @@@@@ N 120000 PQAWDLogon **48006c7898e61461eb110f66a714629864ocx$388111915602261781664778** XSL工作表(要添加哪个元素以获得更高的输出) N 120000 PQAWDLogon 上面是XML,因为标记的行为应该类似于动态更改的会话id, 是否有任何程序或标签添加到当前

我期望的XML输出(需要使用XSLT转换的XML):


试验
试验
@@@@@@@@@@ 
@@@@@ 
试验
TRST
试验
@@@@@ 
N
120000
PQAWDLogon
**48006c7898e61461eb110f66a714629864ocx$388111915602261781664778**
XSL工作表(要添加哪个元素以获得更高的输出)


N
120000
PQAWDLogon
上面是XML,因为
标记的行为应该类似于动态更改的会话id,
是否有任何程序或标签添加到当前的XSLT表中以获得高于XML的输出,请在这方面帮助我(请考虑上面的XSL表作为参考)…< /P> < P> Spring集成<代码> <代码>支持<代码> <代码>。您可以向XSLT模板提供任何变量:

<int-xml:xslt-transformer input-channel="xsltChannel"
                              output-channel="output"
                              xsl-resource="classpath:myTemplate.xslt">
     <int-xml:xslt-param name="sessionId" expression="[ANY_VALID_SPEL_HERE]"/>
</int-xml:xslt-transformer>

xslt应该具有以下内容:

<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="sessionId"/>

    <xsl:template match="//DST/PQAWD">
            ....
           <tidx>
              <xsl:value-of select="$sessionId" />
           </tidx>
    </xsl:template>
</xsl:stylesheet>

....

更多信息如下:

您使用的是XSLT 1.0还是2.0?如果XSLT 1.0,具体是哪个处理器?很抱歉问你,如何找出我的xsl被哪个进程使用?我不熟悉xml和XSLT文件…请帮助我…你将如何运行(执行)转换?我正在使用此网站进行转换,但在内部我无法了解它是如何处理和哪个进程的,如果我错了,请告诉我…michael.hor257k,你对此有什么想法吗={timestamp=1401709356294,id=6a83b09e-f874-2d51-b016-106584460372,correlationId=e7d46888-4697-0669-3ab6-6cf4112509bb,jobDesignerJobName=PQAWDLogon,sequenceSize=1,originalPayload=DT77214Passwd@1,sequenceNumber=1}]这是标题部分,我需要用expression=“[ANY_VALID_SPEL_HERE]”替换它,请您在这方面提供帮助。首先,您应该解释在您的案例中什么是
sessionId
。从消息头中使用唯一的
id
可能就足够了。它是您的域,我们无法确定我使用“header.jobDesignerJobName”尝试的业务逻辑但是我得到的是空标记,比如,我需要把它放在上面定义的头部分中..会话id意味着为每次登录生成的随机数,例如:48006c7898e61461eb110f66a714629864ocx$388111915602261781664778。只需生成它并将其放在XSLT之前的消息头中
<int-xml:xslt-transformer input-channel="xsltChannel"
                              output-channel="output"
                              xsl-resource="classpath:myTemplate.xslt">
     <int-xml:xslt-param name="sessionId" expression="[ANY_VALID_SPEL_HERE]"/>
</int-xml:xslt-transformer>
<xsl:stylesheet version="1.0"
    xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
    <xsl:param name="sessionId"/>

    <xsl:template match="//DST/PQAWD">
            ....
           <tidx>
              <xsl:value-of select="$sessionId" />
           </tidx>
    </xsl:template>
</xsl:stylesheet>