On 29 April 2010 11:32, Richard Quadling <rquadl...@googlemail.com> wrote: > On 29 April 2010 11:12, Richard Quadling <rquadl...@googlemail.com> wrote: >> On 29 April 2010 10:26, Hannes Magnusson <hannes.magnus...@gmail.com> wrote: >>> On Thu, Apr 29, 2010 at 10:56, Richard Quadling >>> <rquadl...@googlemail.com> wrote: >>>> On 29 April 2010 09:49, Hannes Magnusson <hannes.magnus...@gmail.com> >>>> wrote: >>>>> On Thu, Apr 29, 2010 at 10:27, Richard Quadling >>>>> <rquadl...@googlemail.com> wrote: >>>>>> On 29 April 2010 08:50, Peter Cowburn <petercowb...@gmail.com> wrote: >>>>>>> On 29 April 2010 08:18, Philip Olson <phi...@roshambo.org> wrote: >>>>>>>> >>>>>>>> Moments ago Yawk asked in IRC about why we list inherited methods but >>>>>>>> not inherited properties. Good question. So unless someone comes up >>>>>>>> with a reason, let's add them too. Okay? It can use the same form of >>>>>>>> xpointer inside the classname.xml files. >>>>>>> >>>>>>> Good call, thanks yawk! I've had a number of folks in the past ask my >>>>>>> about why a certain class constant is available but not in the docs so >>>>>>> it would be good to have them listed in the class synopsis. >>>>>>> >>>>>>> While we're on the topic, if anyone is looking to go through some >>>>>>> classes to add in these inherited constants then it would be worth >>>>>>> checking for inherited methods as well since not all classes have them >>>>>>> listed. >>>>>> >>>>>> As a test, I used the SPL's RunTimeException. >>>>>> >>>>>> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) >>>>>> xpointer(id('class.exception')/descendant::db:fieldsynopsis)" /> >>>>>> >>>>>> works, but it includes the private properties. >>>>>> >>>>>> How can I extend that to exclude <modifier>private</modifier> >>>>>> >>>>>> I've tried ... >>>>>> >>>>>> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) >>>>>> xpointer(id('class.exception')/descendant::db:fieldsynopsis[modifier!='private'])" >>>>>> /> >>>>>> >>>>>> I also see that the private methods are inherited. Clearly not right >>>>>> as you cannot call the base class's private method in a sub-class. >>>>> >>>>> I didn't even realize that built-in classes had private >>>>> properties/methods. Seems utterly useless to tell the end-user that. >>>>> >>>>> The problem here however is when a fieldsynopsis has a xml:id. >>>>> Thats gonna duplicate the ID and break the build.. >>>>> >>>>> I do however not have an alternative suggestion as doing this in PhD >>>>> would become crazy complicated really fast. >>>>> >>>> >>>> Surely that is no different to a methodsynopsis having an id? >>> >>> They usually don't. >>> >>> With fieldsynopsis however I think we often have xml:id so we can link >>> to a specific property when they are shown on the classreference page. >>> >>> -Hannes >>> >> >> As <fieldsynopsis> is used for properties and constants, we should >> only include "protected" and "public" modifiers for properties and >> methods. >> >> Still working on how to do this in the query. > > Looks like I've got it ... > > <classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo> > <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) > xpointer(id('class.exception')/descendant::db:fieldsynopsis[(db:modifier/text()='protected') > or (db:modifier/text()='public')])" /> > > <classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo> > <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) > xpointer(id('class.exception')/db:refentry/db:refsec...@role='description']/descendant::db:methodsynopsis[(db:modifier/text()='protected') > or (db:modifier/text()='public')])" />
Slight refinement. <classsynopsisinfo role="comment">&InheritedProperties;</classsynopsisinfo> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/descendant::db:fieldsynopsis[(db:modifier='protected') or (db:modifier='public')])" /> <classsynopsisinfo role="comment">&InheritedMethods;</classsynopsisinfo> <xi:include xpointer="xmlns(db=http://docbook.org/ns/docbook) xpointer(id('class.exception')/db:refentry/db:refsec...@role='description']/descendant::db:methodsynopsis[(db:modifier='protected') or (db:modifier='public')])" /> -- ----- Richard Quadling "Standing on the shoulders of some very clever giants!" EE : http://www.experts-exchange.com/M_248814.html EE4Free : http://www.experts-exchange.com/becomeAnExpert.jsp Zend Certified Engineer : http://zend.com/zce.php?c=ZEND002498&r=213474731 ZOPA : http://uk.zopa.com/member/RQuadling