Nasıl xml stil ve xsltproc ile xslt kullanarak öğeleri kaldırmak için?
Formun bir şey var olan XML dosyaları var:
< Element
fruit="apple"
animal="cat"
/>
Dosyadan kaldırılmasını istiyorum.
Bir XSLT stil ve komut satırı yardımcı xsltproc Linux kullanarak, bunu nasıl yapabilirim?
Senaryoda bu noktada ben zaten dosyaları kaldırmak için keşke unsuru içeren bir liste var, tek sıra bir parametre olarak kullanılabilir.
< / ^ hr .
DÜZENLEME:soru aslında niyeti yoktu.
Elde etmeye çalıştığım tüm eleman kaldırmaktır "" (meyve=="" & & hayvan=="") kedi. elma Elemanı Birçok unsur vardır aynı belgede "adlı bu kalmasını diliyorum. Element Bu yüzden
< Element
fruit="orange"
animal="dog"
/>
< Element
fruit="apple"
animal="cat"
/>
< Element
fruit="pear"
animal="wild three eyed mongoose of kentucky"
/>
Duruma
< Element
fruit="orange"
animal="dog"
/>
< Element
fruit="pear"
animal="wild three eyed mongoose of kentucky"
/>
CEVAP
En temel XSLT tasarım desenleri kullanarak bir: "identity transformation Geçersiz kılma" sadece şunları yazacaktır:
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"> <xsl:output omit-xml-declaration="yes"/> <xsl:template match="node()|@*"> <xsl:copy> <xsl:apply-templates select="node()|@*"/> </xsl:copy> </xsl:template> <xsl:template match="Element[@fruit='apple' and @animal='cat']"/> </xsl:stylesheet>
Notnasıl ikinci şablon geçersiz kılar kimliği (1) şablon sadece element isimli "Eleman" olan bir nitelik "meyve" değer "apple" ve nitelik "hayvan" olan değeri "kedi". Bu şablonu eşleşen öğe basitçe göz ardı edilir anlamına gelir boş gövde (boş zaman üretilir).
Bu dönüşüm aşağıdaki kaynak XML belgesi üzerinde uygulandığında:
<doc>... <Element name="same">foo</Element>... <Element fruit="apple" animal="cat" /> <Element fruit="pear" animal="cat" /> <Element name="same">baz</Element>... <Element name="same">foobar</Element>... </doc>
istenilen sonuç üretti
<doc>... <Element name="same">foo</Element>... <Element fruit="pear" animal="cat"/> <Element name="same">baz</Element>... <Element name="same">foobar</Element>... </doc>
Ve kimlik şablonu kullanarak geçersiz kılma daha fazla kod parçacıkları bulunabilirhere.
Nasıl tüm CSS dersleri jQuery kullanar...
Nasıl ınline-block öğeleri arasındaki ...
SERİ bir listeden öğeleri kaldırmak iç...
Nasıl stil için onay kutusunu kullanar...
Nasıl diziden spesifk değeri jQuery ku...