0

我有一块 XSLT,它根据参数对父元素的所有子元素进行复制...

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="2.0" xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <!-- Removes the XML tag from begginning of output -->
    <xsl:output omit-xml-declaration="yes" />
    <!-- Include external variables / data -->
    <xsl:namespace-alias stylesheet-prefix="testNS" result-prefix="testNS" />
    <xsl:template match="/">
        <xsl:copy-of select="/hostElement/*[position() > 1]" /> 
            <xsl:element name="anotherElement">
            <xsl:value-of select="count(//hostElement/childElement[position() > 1])"/>
        </xsl:element>
    </xsl:template>

运行后,我在下面得到这个输出......

<?xml version="1.0" encoding="UTF-8"?>
<hostElement xmlns=""><?xml version="1.0"?>
<childElement>...

它给出的输出似乎有一个额外的 XML 语句,它没有验证。命名空间也不存在...

有人可以尝试帮助我吗?

谢谢,

灰。

4

1 回答 1

0

我正在使用一个名为 Cast Iron 的应用程序来进行这些转换。我现在已经找到了答案,Cast Iron 默认添加了这些,因为它在给定的输出中找不到它们。只需添加<parentElement></parentElement>修复它,因为这是它所期望的

于 2013-01-18T14:58:03.107 回答