Re: [flexcoders] e4x challenge

2009-04-23 Thread Daniel Freiman
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

2009-04-23 Thread Tracy Spratt
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

2009-04-22 Thread Michael Slinn
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

2009-04-22 Thread Tracy Spratt
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