+ -
当前位置:首页 → 问答吧 → 高分悬赏2个简单xsl小问题 跟帖有分

高分悬赏2个简单xsl小问题 跟帖有分

时间:2010-09-03

来源:互联网

这是一本树上的例子,但是我在实验的过程中有两个疑问,xml如下:
XML code

<?xml version="1.0" encoding="gb2312"?>

<company>
    <employees>
        <employee deptno="1">
            <name>zhangsan</name>
        </employee>
        
        <employee deptno="2">
            <name>lisi</name>
        </employee>
        
        <employee deptno="1">
            <name>wangwu</name>
        </employee>
        
        <employee deptno="2">
            <name>zhaoliu</name>
        </employee>
        
        <employee deptno="3">
            <name>qianqi</name>
        </employee>
    </employees>
    
    <departments>
        <department>
            <id>1</id>
            <name>sales</name>
        </department>
        
        <department>
            <id>2</id>
            <name>accounting</name>
        </department>
        
        <department>
            <id>3</id>
            <name>research</name>
        </department>
    </departments>
    
</company>



xsl如下:
XML code

<?xml version="1.0"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

    <xsl:key name="empKey" match="employee" use="@deptno"/>
    
    <xsl:template match="company">
        <xsl:apply-templates select="departments/department"/>
    </xsl:template>
     
    <xsl:template match="department">
        <xsl:value-of select="name"/>
        <xsl:text> has the employees:</xsl:text>
        <xsl:for-each select="key('empKey',id)">
             <xsl:value-of select="name"/>
            <xsl:if test="position()!=last()">, </xsl:if>
        </xsl:for-each>
        <xsl:text>
        </xsl:text>
    </xsl:template>
    
</xsl:stylesheet>



请问1.如果我去掉XML code
<xsl:template match="company">
        <xsl:apply-templates select="departments/department"/>
    </xsl:template>

这段话,为什么输出结果里把所有的人名都输了一遍。

2.如何实现换行,不用《br/》,我试了<xs;:text>&#10;好像不起作用啊。。。

作者: superdcj   发布时间: 2010-09-03

顶帖~~

作者: huanshayi   发布时间: 2010-09-03

热门下载

更多