1

私はこれに取り組みました。しかし、それでも、これを達成するにはいくつかの問題があります。これが私の入力[コード]です

    <contenu1>
    <intertitre niveau="1">1 Construire sans permis : infraction intentionnelle ou purement « matérielle » ?</intertitre>
    <p>Le nouveau code pénal stipule qu’il.<br/></p>
    <p>Le nouveau code pénal stipule qu’il.<br/></p>
    <p>Le nouveau code pénal stipule qu’il.<br/></p>
    <intertitre niveau="1">2 Quelles sont les principales infractions d’urbanisme ?</intertitre>
    <p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
    <p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
    <p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
    <p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
    <intertitre niveau="1">3 Comment est établie la constatation des infractions ?</intertitre>
    <p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code de.<br/></p>
    <intertitre niveau="1">4 Quelles mesures urgentes les autorités peuvent-elles actionner avant la saisine du juge ?</intertitre>
    <p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code.<br/></p>
    </contenu1>

[/コード]

そして、私の期待される出力は[コード]です

<d1commdo>
<tit><al>1 Construire sans permis : infraction intentionnelle ou purement « matérielle » ?</al></tit>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p>
<p>Le nouveau code pénal stipule qu’il.<br/></p></d1commdo>
<d1commdo>
<tit><al>2 Quelles sont les principales infractions d’urbanisme ?</al></tit>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
<p>La plupart des infractions urbanistiques sont des délits. Pour les délits les plus graves, des peines de dix ans d’emprisonnement peuvent être prononcées.<br/></p>
</d1commdo>
<d1commdo>
<tit><al>3 Comment est établie la constatation des infractions ?</al></tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code de.<br/></p></d1commdo>
<d1commdo>
<tit><al>4 Quelles mesures urgentes les autorités peuvent-elles actionner avant la saisine du juge ?</al></tit>
<p>La constatation des infractions aux règles d’urbanisme, figurant sous le livre IV du code.<br/></p>
</d1commdo>

[/コード]

誰かが XSLT でこれを達成するのを手伝ってくれませんか? xslt コードが必要です。

4

2 に答える 2

1

わかりました、あなたの新しい要件の解決策は簡単ではありませんが、ここにあります

<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
  <xsl:output omit-xml-declaration="no" indent="yes"/>
  <xsl:strip-space elements="*"/>

  <xsl:template match="@*|node()">
    <xsl:copy>
      <xsl:apply-templates select="@*|node()"/>
    </xsl:copy>
  </xsl:template>

  <xsl:template match="/*">
    <t>
      <xsl:apply-templates select="intertitre"/>
    </t>
  </xsl:template>

  <xsl:template match="intertitre">
    <xsl:variable name="nextIntertitrePosition" 
      select="count(following-sibling::intertitre[1]/preceding-sibling::*)"/>
    <d1commdo">
      <tit>
        <a1>
          <xsl:apply-templates/>
        </a1>
      </tit>
      <xsl:apply-templates select="following-sibling::p[
        count(preceding-sibling::*) &lt; $nextIntertitrePosition 
        or 0 = $nextIntertitrePosition]"/>
    </d1commdo>
  </xsl:template>

</xsl:stylesheet>

編集:いくつかのフォーマットが行われ、いくつかの小さな間違いが削除されました

于 2013-08-21T18:09:12.970 に答える