Re: [flexcoders] e4x challenge
If you want to select them, then: XMLList list = xml.descendants().(@type = file) otherwise, i'd still get that list and then loop through it and delete each by doing (exact code might need some cleaning): for (each item:XML in list) { delete item.parent()[item.childIndex()]; } On Wed, Apr 22, 2009 at 7:14 PM, Michael Slinn msl...@mslinn.com wrote: I would like to filter out all elements with type=file from the following XML. That turns out to be rather difficult because node/ elements are nested. Any suggestions? ?xml version=1.0 encoding=UTF-8? node name=classes type=dir uri=file:/classes/ node name=spring-beans-2.0.dtd type=file uri=file:/classes/spring-beans-2.0.dtd /node name=.svn type=dir uri=file:/classes/.svn/node name=props type=dir uri=file:/classes/.svn/props/ /node name=text-base type=dir uri=file:/classes/.svn/text-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/text-base/sample.log4j.xml.svn-base //nodenode name=format type=file uri=file:/classes/.svn/format /node name=prop-base type=dir uri=file:/classes/.svn/prop-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/prop-base/sample.log4j.xml.svn-base //nodenode name=entries type=file uri=file:/classes/.svn/entries /node name=tmp type=dir uri=file:/classes/.svn/tmp/node name=props type=dir uri=file:/classes/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/.svn/tmp/prop-base/ //node/nodenode name=com type=dir uri=file:/classes/com/node name=.svn type=dir uri=file:/classes/com/.svn/node name=props type=dir uri=file:/classes/com/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/text-base/ /node name=format type=file uri=file:/classes/com/.svn/format /node name=prop-base type=dir uri=file:/classes/com/.svn/prop-base/ /node name=entries type=file uri=file:/classes/com/.svn/entries /node name=tmp type=dir uri=file:/classes/com/.svn/tmp/node name=props type=dir uri=file:/classes/com/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/.svn/tmp/prop-base/ //node/nodenode name=kahootz type=dir uri=file:/classes/com/kahootz/node name=activemq.xml type=file uri=file:/classes/com/kahootz/activemq.xml /node name=context type=dir uri=file:/classes/com/kahootz/context/node name=remote-jms-context.xml type=file uri=file:/classes/com/kahootz/context/remote-jms-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/text-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/jms-context.xml.svn-base /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/remote-jms-context.xml.svn-base //nodenode name=format type=file uri=file:/classes/com/kahootz/context/.svn/format /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/prop-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/jms-context.xml.svn-base /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/remote-jms-context.xml.svn-base //nodenode name=entries type=file uri=file:/classes/com/kahootz/context/.svn/entries /node name=tmp type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/prop-base/ //node/nodenode name=server-context.xml type=file uri=file:/classes/com/kahootz/context/server-context.xml /node name=jms-context.xml type=file uri=file:/classes/com/kahootz/context/jms-context.xml //nodenode name=space type=dir uri=file:/classes/com/kahootz/space/node name=context type=dir uri=file:/classes/com/kahootz/space/context/node name=remote-space-context.xml type=file uri=file:/classes/com/kahootz/space/context/remote-space-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/space/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/space/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/space/context/.svn/text-base/node name=space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/space-context.xml.svn-base /node name=local-space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/local-space-context.xml.svn-base /node name=remote-space-context.xml.svn-base type=file
RE: [flexcoders] e4x challenge
Ah, great solution! Lots simpler than my recursive transformation suggestion. Tracy Spratt, Lariat Services, development services available _ From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Daniel Freiman Sent: Thursday, April 23, 2009 10:03 AM To: flexcoders@yahoogroups.com Subject: Re: [flexcoders] e4x challenge If you want to select them, then: XMLList list = xml.descendants().(@type = file) otherwise, i'd still get that list and then loop through it and delete each by doing (exact code might need some cleaning): for (each item:XML in list) { delete item.parent()[item.childIndex()]; } On Wed, Apr 22, 2009 at 7:14 PM, Michael Slinn msl...@mslinn. mailto:msl...@mslinn.com com wrote: I would like to filter out all elements with type=file from the following XML. That turns out to be rather difficult because node/ elements are nested. Any suggestions? ?xml version=1.0 encoding=UTF-8? node name=classes type=dir uri=file:/classes/ node name=spring-beans-2.0.dtd type=file uri=file:/classes/spring-beans-2.0.dtd /node name=.svn type=dir uri=file:/classes/.svn/node name=props type=dir uri=file:/classes/.svn/props/ /node name=text-base type=dir uri=file:/classes/.svn/text-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/text-base/sample.log4j.xml.svn-base //nodenode name=format type=file uri=file:/classes/.svn/format /node name=prop-base type=dir uri=file:/classes/.svn/prop-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/prop-base/sample.log4j.xml.svn-base //nodenode name=entries type=file uri=file:/classes/.svn/entries /node name=tmp type=dir uri=file:/classes/.svn/tmp/node name=props type=dir uri=file:/classes/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/.svn/tmp/prop-base/ //node/nodenode name=com type=dir uri=file:/classes/com/node name=.svn type=dir uri=file:/classes/com/.svn/node name=props type=dir uri=file:/classes/com/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/text-base/ /node name=format type=file uri=file:/classes/com/.svn/format /node name=prop-base type=dir uri=file:/classes/com/.svn/prop-base/ /node name=entries type=file uri=file:/classes/com/.svn/entries /node name=tmp type=dir uri=file:/classes/com/.svn/tmp/node name=props type=dir uri=file:/classes/com/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/.svn/tmp/prop-base/ //node/nodenode name=kahootz type=dir uri=file:/classes/com/kahootz/node name=activemq.xml type=file uri=file:/classes/com/kahootz/activemq.xml /node name=context type=dir uri=file:/classes/com/kahootz/context/node name=remote-jms-context.xml type=file uri=file:/classes/com/kahootz/context/remote-jms-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/text-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/jms-context.xml.svn-ba se /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/remote-jms-context.xml .svn-base //nodenode name=format type=file uri=file:/classes/com/kahootz/context/.svn/format /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/prop-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/jms-context.xml.svn-ba se /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/remote-jms-context.xml .svn-base //nodenode name=entries type=file uri=file:/classes/com/kahootz/context/.svn/entries /node name=tmp type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/prop-base/ //node/nodenode name=server-context.xml type=file uri=file:/classes/com/kahootz/context/server-context.xml /node name=jms-context.xml type=file uri=file:/classes/com/kahootz/context/jms-context.xml //nodenode name=space type=dir uri=file:/classes/com/kahootz/space/node name=context type=dir uri=file:/classes/com/kahootz/space/context/node name=remote-space-context.xml type=file uri=file:/classes/com/kahootz/space/context/remote-space-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/space/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/space/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/space/context/.svn/text-base/node name=space-context.xml.svn-base type=file uri=file
[flexcoders] e4x challenge
I would like to filter out all elements with type=file from the following XML. That turns out to be rather difficult because node/ elements are nested. Any suggestions? ?xml version=1.0 encoding=UTF-8? node name=classes type=dir uri=file:/classes/ node name=spring-beans-2.0.dtd type=file uri=file:/classes/spring-beans-2.0.dtd /node name=.svn type=dir uri=file:/classes/.svn/node name=props type=dir uri=file:/classes/.svn/props/ /node name=text-base type=dir uri=file:/classes/.svn/text-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/text-base/sample.log4j.xml.svn-base //nodenode name=format type=file uri=file:/classes/.svn/format /node name=prop-base type=dir uri=file:/classes/.svn/prop-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/prop-base/sample.log4j.xml.svn-base //nodenode name=entries type=file uri=file:/classes/.svn/entries /node name=tmp type=dir uri=file:/classes/.svn/tmp/node name=props type=dir uri=file:/classes/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/.svn/tmp/prop-base/ //node/nodenode name=com type=dir uri=file:/classes/com/node name=.svn type=dir uri=file:/classes/com/.svn/node name=props type=dir uri=file:/classes/com/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/text-base/ /node name=format type=file uri=file:/classes/com/.svn/format /node name=prop-base type=dir uri=file:/classes/com/.svn/prop-base/ /node name=entries type=file uri=file:/classes/com/.svn/entries /node name=tmp type=dir uri=file:/classes/com/.svn/tmp/node name=props type=dir uri=file:/classes/com/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/.svn/tmp/prop-base/ //node/nodenode name=kahootz type=dir uri=file:/classes/com/kahootz/node name=activemq.xml type=file uri=file:/classes/com/kahootz/activemq.xml /node name=context type=dir uri=file:/classes/com/kahootz/context/node name=remote-jms-context.xml type=file uri=file:/classes/com/kahootz/context/remote-jms-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/text-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/jms-context.xml.svn-base /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/remote-jms-context.xml.svn-base //nodenode name=format type=file uri=file:/classes/com/kahootz/context/.svn/format /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/prop-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/jms-context.xml.svn-base /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/remote-jms-context.xml.svn-base //nodenode name=entries type=file uri=file:/classes/com/kahootz/context/.svn/entries /node name=tmp type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/prop-base/ //node/nodenode name=server-context.xml type=file uri=file:/classes/com/kahootz/context/server-context.xml /node name=jms-context.xml type=file uri=file:/classes/com/kahootz/context/jms-context.xml //nodenode name=space type=dir uri=file:/classes/com/kahootz/space/node name=context type=dir uri=file:/classes/com/kahootz/space/context/node name=remote-space-context.xml type=file uri=file:/classes/com/kahootz/space/context/remote-space-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/space/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/space/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/space/context/.svn/text-base/node name=space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/space-context.xml.svn-base /node name=local-space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/local-space-context.xml.svn-base /node name=remote-space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/remote-space-context.xml.svn-base //nodenode name=format type=file uri=file:/classes/com/kahootz/space/context/.svn/format /node name=prop-base type=dir uri=file:/classes/com/kahootz/space/context/.svn/prop-base/node name=space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/prop-base/space-context.xml.svn-base /node
RE: [flexcoders] e4x challenge
E4x is great for returning XMLLists but you are really asking form a transformation, right? You want the same structure, but without the nodes where type=file, correct? Maybe someone else will have a better idea, but if I needed this I would just write a recursive function to walk the original and build the transformed structure. Tracy Spratt, Lariat Services, development services available _ From: flexcoders@yahoogroups.com [mailto:flexcod...@yahoogroups.com] On Behalf Of Michael Slinn Sent: Wednesday, April 22, 2009 7:14 PM To: flexcoders@yahoogroups.com Subject: [flexcoders] e4x challenge I would like to filter out all elements with type=file from the following XML. That turns out to be rather difficult because node/ elements are nested. Any suggestions? ?xml version=1.0 encoding=UTF-8? node name=classes type=dir uri=file:/classes/ node name=spring-beans-2.0.dtd type=file uri=file:/classes/spring-beans-2.0.dtd /node name=.svn type=dir uri=file:/classes/.svn/node name=props type=dir uri=file:/classes/.svn/props/ /node name=text-base type=dir uri=file:/classes/.svn/text-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/text-base/sample.log4j.xml.svn-base //nodenode name=format type=file uri=file:/classes/.svn/format /node name=prop-base type=dir uri=file:/classes/.svn/prop-base/node name=sample.log4j.xml.svn-base type=file uri=file:/classes/.svn/prop-base/sample.log4j.xml.svn-base //nodenode name=entries type=file uri=file:/classes/.svn/entries /node name=tmp type=dir uri=file:/classes/.svn/tmp/node name=props type=dir uri=file:/classes/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/.svn/tmp/prop-base/ //node/nodenode name=com type=dir uri=file:/classes/com/node name=.svn type=dir uri=file:/classes/com/.svn/node name=props type=dir uri=file:/classes/com/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/text-base/ /node name=format type=file uri=file:/classes/com/.svn/format /node name=prop-base type=dir uri=file:/classes/com/.svn/prop-base/ /node name=entries type=file uri=file:/classes/com/.svn/entries /node name=tmp type=dir uri=file:/classes/com/.svn/tmp/node name=props type=dir uri=file:/classes/com/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/.svn/tmp/prop-base/ //node/nodenode name=kahootz type=dir uri=file:/classes/com/kahootz/node name=activemq.xml type=file uri=file:/classes/com/kahootz/activemq.xml /node name=context type=dir uri=file:/classes/com/kahootz/context/node name=remote-jms-context.xml type=file uri=file:/classes/com/kahootz/context/remote-jms-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/text-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/jms-context.xml.svn-ba se /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/text-base/remote-jms-context.xml .svn-base //nodenode name=format type=file uri=file:/classes/com/kahootz/context/.svn/format /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/prop-base/node name=jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/jms-context.xml.svn-ba se /node name=remote-jms-context.xml.svn-base type=file uri=file:/classes/com/kahootz/context/.svn/prop-base/remote-jms-context.xml .svn-base //nodenode name=entries type=file uri=file:/classes/com/kahootz/context/.svn/entries /node name=tmp type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/node name=props type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/text-base/ /node name=prop-base type=dir uri=file:/classes/com/kahootz/context/.svn/tmp/prop-base/ //node/nodenode name=server-context.xml type=file uri=file:/classes/com/kahootz/context/server-context.xml /node name=jms-context.xml type=file uri=file:/classes/com/kahootz/context/jms-context.xml //nodenode name=space type=dir uri=file:/classes/com/kahootz/space/node name=context type=dir uri=file:/classes/com/kahootz/space/context/node name=remote-space-context.xml type=file uri=file:/classes/com/kahootz/space/context/remote-space-context.xml /node name=.svn type=dir uri=file:/classes/com/kahootz/space/context/.svn/node name=props type=dir uri=file:/classes/com/kahootz/space/context/.svn/props/ /node name=text-base type=dir uri=file:/classes/com/kahootz/space/context/.svn/text-base/node name=space-context.xml.svn-base type=file uri=file:/classes/com/kahootz/space/context/.svn/text-base/space-context.xm l.svn-base /node name=local-space-context.xml.svn-base type=file uri=file