Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/xml/14.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Xml xsl中的分组_Xml_Xslt - Fatal编程技术网

Xml xsl中的分组

Xml xsl中的分组,xml,xslt,Xml,Xslt,我得到的xml是这样的 <feature ufi="-1578440"> <designation>PPLA</designation> <administrative_division>06</administrative_division> <name_type>V</name_type> <full_name>Hobart Town</full_name

我得到的xml是这样的

<feature ufi="-1578440">
    <designation>PPLA</designation>  
    <administrative_division>06</administrative_division>
    <name_type>V</name_type>
    <full_name>Hobart Town</full_name>
    <sort_key>HOBARTTOWN</sort_key>
    <modified>2012-02-06</modified>
</feature>
<feature ufi="-1578440">
    <designation>PPLA</designation>
    <administrative_division>06</administrative_division>
    <name_type>N</name_type>
    <full_name>Hobart</full_name>
    <sort_key>HOBART</sort_key>
    <modified>2012-02-06</modified>
</feature>
有谁能给我推荐一个简单的方法来达到这个结果吗。非常感谢


编辑:我假设使用xsl版本1使用键为ufi的方法进行编辑,不涉及分组,但这将完成工作(假设纯文本输出,不考虑换行符,留作练习):


(也称为)
, , 

尽管使用xslt 2.0会好得多。

不涉及分组,但这将完成工作(假设纯文本输出,忽略换行符,作为练习):


(也称为)
, , 

但是,使用xslt 2.0会好得多。

是否希望纯文本输出作为xslt转换结果?您使用XSLT1.0还是2.0?分组键是什么,是
ufi
属性值吗?选择
元素中的哪一个来定义基本名称以及哪些是“也称为”名称是否重要?这里的
字段是否有任何结果?是否希望纯文本输出作为XSLT转换结果?您使用XSLT1.0还是2.0?分组键是什么,是
ufi
属性值吗?选择
元素中的哪一个来定义基本名称以及哪些是“也称为”名称是否重要?这里的
字段是否有任何影响?
Hobart (also known as Hobart Town), PPLA, V, 2012-02-06
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
    version="1.0">
    <xsl:output method="text"/>

    <xsl:template match="feature[name_type='N']">
        <xsl:value-of select="full_name"/>
        <xsl:variable name="ufi" select="@ufi"/>
        (also known as <xsl:value-of select="../feature[name_type='V' and @ufi=$ufi]/full_name"/>)
        , <xsl:value-of select="designation"/>, <xsl:value-of select="name_type"/>, <xsl:value-of select="modified"/>
    </xsl:template>

    <xsl:template match="feature"/>
</xsl:stylesheet>