Ankündigung

Einklappen
Keine Ankündigung bisher.

XSLT: Attriute entfernen

Einklappen

Neue Werbung 2019

Einklappen
X
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • XSLT: Attriute entfernen

    Hi.

    Nicht ganz (X)HTML, aber fast...

    Hat jemand von euch eine Ahnung, wie ein XSLT-Ausdruck aussehen muß, um in allen Elementen eines Dokuments alle Attribute rauszulöschen, die einen bestimmten Namen haben?

    Aus
    <div class="foo" cond="test"><if cond="test2">Test</if></div>

    will ich also z.B. alle Attribute "cond" rauslöschen:
    <div class="foo"><if>Test</if></div>

    Kann mir da jemand helfen?

    Basti

  • #2
    Habs rausgefunden:

    Code:
    	<xsl:template match="*[@cond]">
    		<xsl:element name="{name(.)}">
    			<xsl:for-each select="@*">
    				<xsl:if test="name(.)!='cond'">
    					<xsl:attribute name="{name(.)}">
    						<xsl:value-of select="."/>
    					</xsl:attribute>
    				</xsl:if>
    			</xsl:for-each>
    			<xsl:apply-templates />
    		</xsl:element>
    	</xsl:template>
    Geht bestimmt feiner, war aber so schon ... hart! *g

    Überall wird XSLT verwendet, um aus einem "Datensatz-XML" ein XHTML zu machen, aber nicht, um ein XML einfach nur ein wnig zu verändern.

    Basti

    Kommentar

    Lädt...
    X