[ZDP] BackTalk to Document Zope Developer's Guide (2.4 edition)/Object Publishing

webmaster at zope.org webmaster at zope.org
Mon Nov 17 05:05:18 EST 2003


A comment to the paragraph below was recently added via http://zope.org/Documentation/Books/ZDG/current/ObjectPublishing.stx#3-32

---------------

      Mixing acquisition and traversal can get complex. Consider the
      URL */fruit/apple/orange/strawberry/banana*. This URL is
      functional but confusing. Here's an even more perverse but legal
      URL */fruit/apple/orange/orange/apple/apple/banana*.

        % Anonymous User - Sep. 30, 2002 8:05 am:
         Would be <b>/fruit/apple/banana/orange/strawberry illegal</b>?

        % Anonymous User - Oct. 8, 2002 9:35 pm:
         I think so. Someone more experienced, please confirm. (I have not yet read the chapter on acquisition).

        % Anonymous User - Nov. 17, 2003 5:05 am:
         yes it is illegal. You have to think of it in "context". An object has to be found in the context of the
         previous objects.
         banana is in the context of orange, but in the path orange is nowhere to be found BEFORE banana. So it won't
         be found.
         strawberry will be found because apple is in the path before strawberry.
         Should you express it as */fruit/apple/orange/banana/strawberry* it should work cause each object can be
         found in the context of some other object that is in the path BEFORE the object you want to find...
         You really should read the USER Manual (zope book), especially the chapter about acquisition. it really
         qlarifies the concept



More information about the ZDP mailing list