【发布时间】:2016-08-12 10:45:25
【问题描述】:
我收到以下 XSLT 代码的错误。
我正在尝试从源中复制元素。
当排除以下部分代码时,它可以正常工作。
<xsl:copy>
<Header>
<xsl:copy-of select="xp:Header/*"/>
</Header>
</xsl:copy>
但是当我包含上面的代码时,它给了我错误。
以下是完整代码
<?xml version="1.0"?>
<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xp="http://www.reverseXSL.com/FreeParser">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/*">
<xsl:copy>
<Header>
<xsl:copy-of select="xp:Header/*"/>
</Header>
</xsl:copy>
<xsl:copy>
<ObservationStationDetails>
<xsl:copy-of select="xp:ObservationStationDetails/*"/>
</ObservationStationDetails>
</xsl:copy>
</xsl:template>
</xsl:stylesheet>
请提出建议。
这是输入 xml
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="FinalXSLT.xsl"?>
<Sample_1 xmlns="http://www.reverseXSL.com/FreeParser" messageID="160811_183146">
<Header>
<Dept> INDIA METEOROLOGICAL DEPARTMENT</Dept>
</Header>
<SubHeader>
<Computation> RS/RW COMPUTATION</Computation>
</SubHeader>
<line1>
<blankline> _______________________________________________________________________</blankline>
</line1>
<Header1>
<Tag1> [FLIGHT START TIME]</Tag1>
</Header1>
<FlightStartTime>
<BRT> Balloon Release Time = 08 Apr 2016 06:22:39</BRT>
</FlightStartTime>
<Header2>
<Tag2> [OBSERVATION STATION DETAILS ]</Tag2>
</Header2>
<ObservationStationDetails>
<StName> Station Name = CHIKA</StName>
</ObservationStationDetails>
<ObservationStationDetails>
<StHt> Station Ht. = 500 m</StHt>
</ObservationStationDetails>
<ObservationStationDetails>
<StIndex> Station Index = 43000</StIndex>
</ObservationStationDetails>
<ObservationStationDetails>
<Latitude> Latitude = 69.51 N</Latitude>
</ObservationStationDetails>
<ObservationStationDetails>
<Longitude> Longitude = 75.24 E</Longitude>
</ObservationStationDetails>
<ObservationStationDetails>
<Zonal> Zonal No. = xxxx</Zonal>
</ObservationStationDetails>
</Sample_1>
所需输出:
<Sample_1 xmlns="http://www.reverseXSL.com/FreeParser">
<Header xmlns:xp="http://www.reverseXSL.com/FreeParser">
<Header>
<Dept>INDIA METEOROLOGICAL DEPARTMENT</Dept>
</Header>
</Header>
<ObservationStationDetails xmlns:xp="http://www.reverseXSL.com/FreeParser">
<StName>Station Name = CHIKA</StName>
<StHt>Station Ht. = 500 m</StHt>
<StIndex>Station Index = 43000</StIndex>
<Latitude>Latitude = 69.51 N</Latitude>
<Longitude>Longitude = 75.24 E</Longitude>
<Zonal>Zonal No. = xxxx</Zonal>
</ObservationStationDetails>
</Sample_1>
【问题讨论】:
-
发布输入的XML,同时提及错误信息。
-
我已经更新了输入。
-
似乎不允许有 2 个复制标签,因为我删除了其中的 1 个它工作正常。我错过了什么吗?
-
两个
都没问题,这不过是处理元素名称的名称。您的 xslt 正在成功运行。你能发布所需的输出吗? -
虽然我找到了答案并发布了它,但很想听听您是否有任何其他解决方案。