Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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
用XSLT实现XML的非规范化_Xml_Xslt - Fatal编程技术网

用XSLT实现XML的非规范化

用XSLT实现XML的非规范化,xml,xslt,Xml,Xslt,我有以下XML片段: <ExtendedData> <Data> <displayName>..</displayName> <value>..</value> </Data> <Data> <displayName>MaxAltitude</displayName> <value>4444</value>

我有以下XML片段:

<ExtendedData>
  <Data>
    <displayName>..</displayName>
    <value>..</value>
  </Data>
  <Data>
    <displayName>MaxAltitude</displayName>
    <value>4444</value>
  </Data>
  <Data>
    <displayName>MinAltitude</displayName>
    <value>3333</value>
  </Data>
  <Data>
    <displayName>..</displayName>
    <value>..</value>
  </Data>
</ExtendedData>

..
..
最大高度
4444
尖顶
3333
..
..
我需要的是一个模板/函数,其结果以maxAltitude形式显示;米度,例如3333;这里是4444


提前感谢

提取
字段的模板非常简单:

<xsl:template match="ExtendedData">
  <xsl:apply-templates select="//value"/>
</xsl:template>

<xsl:template match="value"><xsl:value-of select="." />;</xsl:template>

;

反规范化部分在哪里?您的问题似乎是关于XSLT/XPath的基础知识。非规范化部分是提取标签displayname旁边的值标签的数据,该标签的值为minAltitude和maxAltitude。这两个都显示为每个扩展数据块一个IMHO,这不是什么意思。关于您的问题,您确实需要首先了解XPath的基础知识;您将在第一课的前5分钟学习答案。我需要MinAttude和maxAltitude作为一个返回值,用分号分隔。因此,我期望两个匹配模式的组合或类似迭代器的东西,例如foreach与if的组合,以获得正确的标记。