All pastes #296612 Raw Edit

Untitled

public text v1 · immutable
#296612 ·published 2006-12-30 11:19 UTC
rendered paste body
extendee.lang:

<context extendee>
  <includes>
    <context foo>
      <context comment />
      <extension-hook myhook>
      <context otherstuff>
    </context>
  </includes>
</context>



extender.lang:

<context foo extends extendee::foo>
  <injects where=myhook>
    <context mystuff>
  </injects>
<context>

<context extender>
  <includes>
    <context foo>
  </includes>
</conetxt>


---> after parsing is equivalent to

<context extender>
  <includes>
    <context foo>
      <context extendee:comment />
      <context mystuff>
      <context extendee:otherstuff>
    </context>
  </includes>
</conetxt>


So far so good.

But what happens when the extendee is something like

<context extendee>
  <includes>
    <context fooparent>
      <includes>
        <context foo>
          <includes>
            <context comment />
            <extension-hook myhook>
            <context otherstuff>
          </includes>
         <context>
      <includes>
    </context>
  </includes>
</context>


and the extendee::foo context makes sense only if matched inside a 
extendee::fooparent context? If extender.lang is unchanged the result
is that the foo context is inside the extender toplevel and not 
into a fooparent context