Josh, I think get it. Thanks.
--- In flexcoders@yahoogroups.com, "Josh McDonald" <[EMAIL PROTECTED]>
wrote:
>
> Would you expect it to work if they changed the names of their
nodes? The
> namespace is just part of the name, it's simply a shortcut so you
can use
> less characters in your XML file but keep the names distinct. You
wouldn't
> build this:
>
> <animals>
> <cat/>
> <cat/>
> </animals>
>
> var cats : XMLList = rootNode..cat;
>
> and expect to get something in the cats variable if the <cat>
nodes were
> renamed to <dog> nodes would you?
>
> -Josh
>
> On Mon, Sep 15, 2008 at 10:02 AM, gwangdesign <[EMAIL PROTECTED]>
wrote:
>
> > Hi Josh,
> >
> > Thanks for the lead. I'm new to this but by looking at the Flex
> > documentation it seems that you would need to hardcode the uri
into
> > QName/namespace? What I mean is that I am trying to get the
default
> > namespace at runtime so that ideally my code would still run in
the
> > case YouTube changed their namespaces;) But unfortunately it
doesn't work:
> >
> > var def:Namespace = new Namespace(xml.namespace());
> > use namespace def;
> >
> > ...
> >
> > Could you give the code about QName? Thanks!
> >
> >
> > --- In flexcoders@yahoogroups.com, "Josh McDonald" <dznuts@>
wrote:
> > >
> > > It should work, but you need to either use a QName (instead of
a
> > String) to
> > > access nodes. Also, you could probably define an namespace
like this
> > (off
> > > the top of my head, syntax might be wrong):
> > >
> > > private namespace rootNS = "http://www.w3.org/2005/Atom";
> > >
> > > using rootNs;
> > >
> > > //... Do your e4x stuff here...
> > >
> > > I'd say use QNames. I know at first it seems kinda annoying to
have to
> > > define a bunch QName constants, but when Youtube decide to
change their
> > > namespaces, or the name of a node, or something like that,
you'll be
> > glad
> > > you did.
> > >
> > > -Josh
> > >
> > > On Mon, Sep 15, 2008 at 4:50 AM, gwangdesign <gwangdesign@>
wrote:
> > >
> > > > Hi,
> > > >
> > > > I am trying to access the YouTube feed. Like this:
> > > >
> > > > "
> > > >
> > http://gdata.youtube.com/feeds/api/videos?rq=HurricaneIKE%20&max-
results=2
> > > > "
> > > >
> > > > It returns something like this:
> > > >
> > > > <feed
> > > > xmlns='http://www.w3.org/2005/Atom'
> > > > xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
> > > > xmlns:gml='http://www.opengis.net/gml'
> > > > xmlns:georss='http://www.georss.org/georss'
> > > > xmlns:media='http://search.yahoo.com/mrss/'
> > > > xmlns:batch='http://schemas.google.com/gdata/batch'
> > > > xmlns:yt='http://gdata.youtube.com/schemas/2007'
> > > > xmlns:gd='http://schemas.google.com/g/2005'>
> > > > <id/>
> > > > <updated/>
> > > > <author/>
> > > > <generator/>
> > > >
<openSearch:totalResults>127862056</openSearch:totalResults>
> > > > ...
> > > > <entry>
> > > > ...
> > > > </entry>
> > > > </feed>
> > > >
> > > > Everything is fine except that I cannot traverse the
returned xml file
> > > > in e4x syntax, while the old school child(0) works just
fine. After
> > > > hours of digging, I found out that it was the namespace of
the top
> > > > node:"http://www.w3.org/2005/Atom" that prevents e4x from
working. I
> > > > figured this out by saving a local copy of the xml file and
trimming
> > > > off the aforementioned uri of the namespace, like this:
> > > >
> > > > <feed
> > > > xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'
> > > > xmlns:gml='http://www.opengis.net/gml'
> > > > xmlns:georss='http://www.georss.org/georss'
> > > > xmlns:media='http://search.yahoo.com/mrss/'
> > > > xmlns:batch='http://schemas.google.com/gdata/batch'
> > > > xmlns:yt='http://gdata.youtube.com/schemas/2007'
> > > > xmlns:gd='http://schemas.google.com/g/2005>
> > > > ...
> > > > </feed>
> > > >
> > > > So what I am trying to do now, without any good advice, is
trying to
> > > > set the namespace for the top node to another uri or just
null,
> > > > because that's what's working with a local copy.
> > > >
> > > > BTW, I tried both HTTPService and URLLoader/URLRequest and
they yield
> > > > the same results. I tried copy() the xml file without
altering the
> > > > namespaces for the top node and it ONLY worked for a local
xml file.
> > > >
> > > > Any suggestions?
> > > >
> > > >
> > > > ------------------------------------
> > > >
> > > > --
> > > > Flexcoders Mailing List
> > > > FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > > > Alternative FAQ location:
> > > >
> >
> > https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-
446f-b4cf-1e62079f6847
> > > > Search Archives:
> > > > http://www.mail-archive.com/flexcoders%
40yahoogroups.comYahoo! Groups
> > > > Links
> > > >
> > > >
> > > >
> > > >
> > >
> > >
> > > --
> > > "Therefore, send not to know For whom the bell tolls. It tolls
for
> > thee."
> > >
> > > http://flex.joshmcdonald.info/
> > >
> > > :: Josh 'G-Funk' McDonald
> > > :: 0437 221 380 :: josh@
> > >
> >
> >
> >
> > ------------------------------------
> >
> > --
> > Flexcoders Mailing List
> > FAQ:
http://groups.yahoo.com/group/flexcoders/files/flexcodersFAQ.txt
> > Alternative FAQ location:
> > https://share.acrobat.com/adc/document.do?docid=942dbdc8-e469-
446f-b4cf-1e62079f6847
> > Search Archives:
> > http://www.mail-archive.com/flexcoders%40yahoogroups.comYahoo!
Groups
> > Links
> >
> >
> >
> >
>
>
> --
> "Therefore, send not to know For whom the bell tolls. It tolls for
thee."
>
> http://flex.joshmcdonald.info/
>
> :: Josh 'G-Funk' McDonald
> :: 0437 221 380 :: [EMAIL PROTECTED]
>