Subject: Re: [xsl] Copy all attributes except except some From: "Imsieke, Gerrit, le-tex gerrit.imsieke@xxxxxxxxx" <xsl-list-service@xxxxxxxxxxxxxxxxxxxxxx> Date: Thu, 19 Jun 2014 05:27:01 -0000 |
The resulting XML should contain only 2 attributes from "InspectionExt" in case result="10" or "11" otherwise all attributes and "Obligations", "Defects" but no "Photo" Also when copying the Defects/Defect items, only those with "not(@reinspection='ok'" should be copied over. No "Defects" element should be created if nothing from source xml is copied. The resulting "Defect" element must not contain the "reinspection" attribute.
That's what I came up with after your suggestions: <?xml version="1.0" encoding="UTF-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:fn="http://www.w3.org/2005/xpath-functions"> <xsl:output method="xml" version="1.0" encoding="UTF-8" indent="yes"/>
<xsl:template match="InspectionExt"> <xsl:element name="ns2:InspectionReportInput" namespace="http://somenamespace"> <xsl:choose> <xsl:when test="@result eq '10' or @result eq '11'">
<xsl:copy-of select="@result"/> <xsl:copy-of select="@expert"/> </xsl:when> <xsl:otherwise> <xsl:copy-of select="@*[not(@signed)]"/> <xsl:for-each select="Defects"> <xsl:element name="Defects"> <xsl:for-each select="Defect[not(@reinspection='ok')]"> <xsl:element name="Defect"> <xsl:copy-of select="@*[not(@reinspection)]"/>
Current Thread |
---|
|
<- Previous | Index | Next -> |
---|---|---|
Re: [xsl] Copy all attributes excep, Philipp Kursawe phil | Thread | Re: [xsl] Copy all attributes excep, Philipp Kursawe phil |
Re: [xsl] Copy all attributes excep, Philipp Kursawe phil | Date | Re: [xsl] Copy all attributes excep, Philipp Kursawe phil |
Month |