XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Show tree view Topic
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Postnext
David CorleySubject: Filtering out results by two attributes
Author: David Corley
Date: 29 May 2006 11:14 AM
Originally Posted: 29 May 2006 10:52 AM
I have one huge xml file containing results from a PMD run on some source code.
The structure is more or less this:
<pmd>
<file name="aaa\bbb\ccc.java">
<violation priority="5"/>
<violation priority="4/>
</file>
<file name="aaa\ddd\eee.java">
<violation priority="4"/>
<violation priority="6"/>
</file>
</pmd>

I would like to filter data by file directory first and then by priority. An example would be to output data on all java files in "aaa\ddd" with a "4" priority.
I also want to keep the root node intact during the transfer, including all of its attribute values.

I have xml to filter by priority already, but the double-filtering I require here is beyond my ability. Any help would be appreciated.

Posttop
David CorleySubject: Filtering out results by two attributes
Author: David Corley
Date: 29 May 2006 01:11 PM
Originally Posted: 29 May 2006 01:10 PM
Hey, I eventually figured out a way to do this, so I thought I would post the results here. Instead of trying to get the data that I wanted and telling it to move, I realised that moving all the data, and telling the data I didn't want to STAY was the easiest solution:
<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform" >
<xsl:output method="xml"/>
<xsl:template match="node() | @*">
<xsl:copy>
<xsl:apply-templates select="node() | @*"/>
</xsl:copy>
</xsl:template>
<xsl:template match="pmd/file[not(contains(@name,'aa\bb'))]" />
<xsl:template match="pmd/file/violation[@priority &gt;'3']"/>

</xsl:stylesheet>

This basically copies all data except that greater than a certain priority or data that does not contain a particular string for a partiular attribute value.

 
Topic Page 1 2 3 4 5 6 7 8 9 Go to previous topicPrev TopicGo to next topicNext Topic
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.