在 IE11 中,带有 XSLT 的 XML 未正确呈现

XML with XSLT is not rendered properly in IE11

提问人:Gangadhar Bodla 提问时间:5/8/2017 更新时间:5/8/2017 访问量:712

问:

我有以下XML和XSLT,当我使用IE11打开XML时,它没有正确呈现。

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="StyleSheet.xsl" ?> 
<FIXML>
    <Header>
        <RequestID>ReqID8942</RequestID>
    </Header>
    <Body>
     <Data>
      <LimitDetails>
        <LimitRefNo>L1</LimitRefNo>
        <LimitClassification>ROOT</LimitClassification>
        <ParentLimitRefNo></ParentLimitRefNo>
        <ApprovedLimit>100.0</ApprovedLimit>
      </LimitDetails>
      <LimitDetails>
        <LimitRefNo>L2</LimitRefNo>
        <LimitClassification>ClASSIFICATION1</LimitClassification>
        <ParentLimitRefNo>L1</ParentLimitRefNo>
        <ApprovedLimit>200.0</ApprovedLimit>
      </LimitDetails>
      <LimitDetails>
        <LimitRefNo>L3</LimitRefNo>
        <LimitClassification>CLASSIFICATION2</LimitClassification>
        <ParentLimitRefNo>L2</ParentLimitRefNo>
        <ApprovedLimit>300.0</ApprovedLimit>
      </LimitDetails>
      <LimitDetails>
        <LimitRefNo>L4</LimitRefNo>
        <LimitClassification>CLASSIFICATION3</LimitClassification>
        <ParentLimitRefNo>L3</ParentLimitRefNo>
        <ApprovedLimit>400.0</ApprovedLimit>
      </LimitDetails>
      </Data>
   </Body>
</FIXML>

XSL 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<xsl:transform version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" version="1.0"  />
<xsl:template match="@*|node()">
    <xsl:copy><xsl:apply-templates select="@*|node()" /></xsl:copy>
</xsl:template>

<xsl:template match="Data">
    <xsl:copy>
        <LimitDetails>
            <Limit>
                <xsl:apply-templates select=".//LimitDetails[./ParentLimitRefNo='']" />
            </Limit>
        </LimitDetails>
    </xsl:copy>
</xsl:template>

<xsl:template match="LimitDetails">
    <xsl:variable name="LimitRefNo" select="./LimitRefNo" />
    <xsl:apply-templates select="@*|node()" />
    <xsl:if test="../LimitDetails[./ParentLimitRefNo = $LimitRefNo]">
    <SubLimit>
        <xsl:apply-templates select="../LimitDetails[./ParentLimitRefNo = $LimitRefNo]" />
    </SubLimit>
    </xsl:if>
</xsl:template>
</xsl:transform>

当我用IE11打开XML时,只显示文本节点,它没有显示为XML格式,请让我知道这有什么问题。

XML XSLT Internet-Explorer-11

评论

2赞 michael.hor257k 5/8/2017
浏览器旨在显示 HTML,而不是 XSL 转换的 XML 结果。

答:

0赞 Vishal 5/8/2017 #1

更改并选中<xsl:output method="xml" version="1.0" /><xsl:output method="html" version="1.0" />

评论

0赞 Gangadhar Bodla 5/9/2017
感谢您的回复,尝试过这个但没有用