我为此工作过。但是,我仍然有一些问题要做到这一点。这是我的意见 [代码]
<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代码。
答案 0 :(得分:2)
这个XSLT:
<?xml version="1.0" encoding="UTF-8"?>
<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">
<d1commdo>
<tit>
<a1>
<xsl:apply-templates/>
</a1>
</tit>
<xsl:apply-templates select="following-sibling::p[1]"/>
</d1commdo>
</xsl:template>
</xsl:stylesheet>
...,当应用于源XML时,会产生预期的输出(包含在顶层元素中以形成格式):
<?xml version="1.0" encoding="UTF-8"?>
<t>
<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>
</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>
</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>
</t>
答案 1 :(得分: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::*) < $nextIntertitrePosition
or 0 = $nextIntertitrePosition]"/>
</d1commdo>
</xsl:template>
</xsl:stylesheet>
编辑:完成了一些格式化并删除了一些小错误