0

名前空間エイリアスを含むが定義を含まないこの出力を生成する必要があります。

<my:Risks>
  <my:Risk>
    <my:ID>1</my:ID> 
    <my:Description><div>test1</div></my:Description>
  </my:Risk>
  <my:Risk>
    <my:ID>2</my:ID> 
    <my:Description><div>test2</div></my:Description>
  </my:Risk>
</my:Risks>

この入力から:

<ArrayOfRisk>
    <Risk>
      <ID>1</ID> 
      <Description><div>test1</div></Description> 
    </Risk>
    <Risk>
      <ID>2</ID> 
      <Description><div>test2</div></Description> 
    </Risk>
</ArrayOfRisk>

この XSLT を使用していますが、「my」名前空間定義が出力に表示されないようにする方法を知る必要があります。

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0" xmlns:my='http://blaha.com'>
  <xsl:template match="/">
    <my:Risks>
      <xsl:apply-templates select="//Risk"/>
    </my:Risks>
  </xsl:template>

  <xsl:template match="Risk">
    <my:Risk>
      <xsl:apply-templates/>
    </my:Risk>
  </xsl:template>

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

  <xsl:template match="Description">
    <my:Description><xsl:copy-of select="node()" /></my:Description>
  </xsl:template>
</xsl:stylesheet>

前もって感謝します

4

4 に答える 4