部分XML未显示

时间:2018-05-03 13:59:43

标签: xml xslt

我有这样一个XSL文件。 XML文件的第一部分转换并在Internet Explorer中显示没有问题。但是当我在文档的末尾添加额外的内容时,它不会在Internet Explorer中显示。带有<?xml version='1.0'?> <xsl:stylesheet version="2.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output method="xml" indent="yes"/> <xsl:template match="/"> <ClientList> <xsl:for-each select="ClientList/Client"> <Client> <IdNumber> <xsl:value-of select="position()"/> </IdNumber> <NameSurname> <xsl:value-of select="concat(Name, ' ' , Surname)"/> </NameSurname> </Client> </xsl:for-each> </ClientList> <Number> <xsl:value-of select="count(/ClientList/Client/ProductOwner[text()='true'])"/> </Number> </xsl:template> </xsl:stylesheet> 标记的最后一部分未显示。我不知道问题出在哪里。

<?xml version="1.0" encoding="UTF-8"?>
<ClientList>
    <Client>
        <Name>Jan</Name>
        <Surname>Kowalski</Surname>
        <ProductOwner>true</ProductOwner>
    </Client>
    <Client>
        <Name>Piotr</Name>
        <Surname>Nowak</Surname>
        <ProductOwner>false</ProductOwner>
    </Client>
</ClientList>

这是我的输入XML文件:

module CsvImporter
  class User < ApplicationRecord
    validates :email_address, uniqueness: true, presence: true
    validates :name, presence: true
  end
end

1 个答案:

答案 0 :(得分:1)

因此,作为对评论中请求的回答(我如何'引入包含'ClientList'和'Number'的新根标记。)

一旦“按原样”尝试XSLT,就会抛出错误:

Line:   12
Column: 2
Only one top level element is allowed in an XML document.

一旦我们添加外部根标记,样式表应该修改如下:

...
<xsl:template match="/">
<new-root> <- open new root tag here
<ClientList>
...
</Number>

</new-root> <- and close it there
</xsl:template>
...