【问题标题】:XSLT: Extra content at the end of the documentXSLT:文档末尾的额外内容
【发布时间】: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 正在成功运行。你能发布所需的输出吗?
  • 虽然我找到了答案并发布了它,但很想听听您是否有任何其他解决方案。

标签: xml xslt copy


【解决方案1】:

它对我有用

 <xsl:copy>
  <Header>
    <xsl:copy-of select="xp:Header"/>
  </Header>
  <ObservationStationDetails>
    <xsl:copy-of select="xp:ObservationStationDetails/*"/>
  </ObservationStationDetails>
</xsl:copy>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 2013-05-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多