Je souhaite sélectionner tous les noeuds descendants mais "blog". Pour l'exemple, seul subtree devrait apparaître en sortie. J'essaie ce code xsl:Filtre xsl sur select
<xsl:template match="rdf:RDF">
<xsl:copy>
<xsl:copy-of select="descendant::*[not(descendant::blog)]"/>
</xsl:copy>
</xsl:template>
pour cette xml:
<rdf:RDF>
<profesor rdf:ID="profesor_39">
<nombre rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Augusto</nombre>
</profesor>
<blog rdf:ID="blog_41">
<entradas>
<entrada_blog rdf:ID="entrada_blog_42">
<etiquetas>
<tecnologia rdf:ID="tecnologia_49">
<termino rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Atom</termino>
</tecnologia>
</etiquetas>
<autor>
<alumno rdf:ID="alumno_38">
<nombre rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>Jesus</nombre>
</alumno>
</autor>
</entrada_blog>
</entradas>
<autores rdf:resource="#alumno_38"/>
<direccion rdf:datatype="http://www.w3.org/2001/XMLSchema#string"
>http://tfg1.unex.es/10comunidad/wordpress/</direccion>
</blog>
</rdf:RDF>
Qu'est-ce que je manque? Les nœuds "blog" sont toujours imprimés sur la sortie. Merci.
La seconde explose le résultat; ce n'est probablement pas ce que vous voulez. Il copierait tous les et ses descendants (y compris , etc.); * puis * il copiera et ses descendants. Donc, vous finiriez avec beaucoup de sous-arbres en double. Une transformation d'identité modifiée (voir ma réponse) vous donnerait le plus de pouvoir dans les deux cas. –