[:!let name [:get_combined name]]
[:!let prefix [expr {[[:get_owning_partof] pinfo get -default 0 bundle ismetaclass] ? "cls": "obj"}]]
<div rel="yui:property">
  <h4><a name="[:href -local]" property="yui:name">$name[:statusmark]</a>
  </h4>
  <div class="detail">
    <code>[:? {[[:origin] eval {info exists :@return}] && [[[:origin] @return] @spec] ne ""} {&nbsp;:&nbsp;<span property="yui:type">[[[:origin] @return] @spec]</span>} ]
      <span class="var">$prefix</span>
      <strong property="yui:name">$name</strong>
      <span class="var">[[:origin] pinfo get -default "" bundle parametersyntax]</span>
    </code>
    <div class="description" property="yui:description">
      [[:origin] as_text]
      [:? {[[:origin] eval {info exists :@parameter}]} {
      <dl rel="yui:parameters">
	<dt>Parameters:</dt>
	[:for param [[:origin] @parameter] {
	<dd rel="yui:parameter">
	  <code><span property="yui:name">[$param name]</span>
	    [:? {[$param eval {info exists :@spec}] && [$param @spec] ne ""} {&nbsp;:&nbsp;<span property="yui:type">[$param @spec]</span>}]
	  </code>
	  [$param statusmark]
	  <span property="yui:description">[$param as_text]</span>
	  <span style='display:block; color: red'>[$param pinfo get -default "" validation]</span>
	</dd>
	}]
      </dl>
      }]
      [:? {[[:origin] eval {info exists :@return}]} {
      <dl>
	<dt>Returns:
	  <code property="yui:return">
	</code></dt>
	<dd property="yui:returnInfo">[${:@return} as_text]</dd>
      </dl>
      }]
    </div>
  </div>	
  <hr />
</div>