Xml maximo响应没有XSL转换

Xml maximo响应没有XSL转换,xml,xslt,maximo,Xml,Xslt,Maximo,这是我的回应: <?xml version="1.0" encoding="UTF-16"?> <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"> <soapenv:Body> <QueryMXCPISResponse baseLanguage="EN" creationDateTime="2014-11-25T11:56:09+

这是我的回应:

<?xml version="1.0" encoding="UTF-16"?>
<soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/">
<soapenv:Body>
    <QueryMXCPISResponse baseLanguage="EN"
        creationDateTime="2014-11-25T11:56:09+01:00"
        maximoVersion="7 5 20130829-1209 V7510--1"
        messageID="1416912970550686680" rsCount="3" rsStart="0"
        rsTotal="3" transLanguage="EN"
        xmlns="http://www.ibm.com/maximo" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
        <MXCPISSet>
            <CPIS>
                <AK>D</AK>
                <CPISID>630124</CPISID>
                <ORGID>01</ORGID>
                <S1>0</S1>
                <S2>0</S2>
                <S3>0</S3>
                <S4>0</S4>
                <S5>0</S5>
                <S6>1</S6>
                <SHIFT>3</SHIFT>
                <SHIFTDATE>2014-09-30T00:00:00+02:00</SHIFTDATE>
                <SITEID>0030</SITEID>
                <STATUS>NEW</STATUS>
                <TEAM>C</TEAM>
                <WP>LC11</WP>
                <ASSET>
                    <ASSETNUM>LC11</ASSETNUM>
                    <LOCATION>FACILITY-1</LOCATION>
                    <SITEID>0030</SITEID>
                </ASSET>
            </CPIS>
            <CPIS>
                <AK>D</AK>
                <CPISID>630121</CPISID>
                <ORGID>01</ORGID>
                <S1>0</S1>
                <S2>0</S2>
                <S3>1</S3>
                <S4>0</S4>
                <S5>0</S5>
                <S6>1</S6>
                <SHIFT>1</SHIFT>
                <SHIFTDATE>2014-09-30T00:00:00+02:00</SHIFTDATE>
                <SITEID>0030</SITEID>
                <STATUS>CHECKED</STATUS>
                <TEAM>B</TEAM>
                <WP>LC11</WP>
                <ASSET>
                    <ASSETNUM>LC11</ASSETNUM>
                    <LOCATION>FACILITY-1</LOCATION>
                    <SITEID>0030</SITEID>
                </ASSET>
            </CPIS>
            <CPIS>
                <AK>D</AK>
                <CPISID>630122</CPISID>
                <ORGID>01</ORGID>
                <S1>1</S1>
                <S2>1</S2>
                <S3>0</S3>
                <S4>0</S4>
                <S5>0</S5>
                <S6>1</S6>
                <SHIFT>2</SHIFT>
                <SHIFTDATE>2014-09-30T00:00:00+02:00</SHIFTDATE>
                <SITEID>0030</SITEID>
                <STATUS>APPLIED</STATUS>
                <TEAM>B</TEAM>
                <WP>LC11</WP>
                <ASSET>
                    <ASSETNUM>LC11</ASSETNUM>
                    <LOCATION>FACILITY-1</LOCATION>
                    <SITEID>0030</SITEID>
                </ASSET>
            </CPIS>
        </MXCPISSet>
    </QueryMXCPISResponse>
</soapenv:Body>
如果我删除xmlns=”http://www.ibm.com/maximo“从响应消息中,我得到了正确的输出

WP      Site    Shift
LC11    0030    3
LC11    0030    1
LC11    0030    2

XSL文件中有什么错误导致我没有得到HTML输出?

元素
querymxpisresponse
MXCPISSet
等位于命名空间
xmlns=”http://www.ibm.com/maximo“
。如果没有名称空间,处理器将不匹配任何元素,而不是应用样式表,而是应用。您需要在模板中容纳此名称空间,如下所示(注意maximo的
xmlns
和别名
m
):


可湿性粉剂
场地
移位
... 等
其他资料:

  • 除非您只是在SOAP主体中转换负载,否则您可能需要对SOAP头
    xmlns:soapenv=”执行相同的操作http://schemas.xmlsoap.org/soap/envelope/“
  • 如果目标是Html,还应该在样式表中设置
  • 您可以进一步使用xsl:for each
D 630124 01 0 0 0 0 0 1 3 2014-09-30T00:00:00+02:00 0030 NEW C LC11 LC11 FACILITY-1 0030 D 630121 01 0 0 1 0 0 1 1 2014-09-30T00:00:00+02:00 0030 CHECKED B LC11 LC11 FACILITY-1 0030 D 630122 01 1 1 0 0 0 1 2 2014-09-30T00:00:00+02:00 0030 APPLIED B LC11 LC11 FACILITY-1 0030 
WP      Site    Shift
LC11    0030    3
LC11    0030    1
LC11    0030    2
<?xml version="1.0"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
                version="1.0"
                xmlns:m="http://www.ibm.com/maximo"
                xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/"
                exclude-result-prefixes="soapenv m">

  <xsl:output method="html"/>

  <xsl:template match="/" >
    <xsl:apply-templates select="m:QueryMXCPISResponse/m:MXCPISSet" />
  </xsl:template>

  <xsl:template match="m:MXCPISSet">
    <html>
      <body>
        <table>
          <tbody>
            <tr>
              <th>WP</th>
              <th>Site</th>
              <th>Shift</th>
            </tr>
            <xsl:for-each select="m:CPIS">
            ... etc.