Why is $node->taxonomy not populated when implementing a custom hook_nodeapi? I have implemented a hook_nodeapi in a Drupal 6 site. When looking into the node, I found out the node->taxonomy is not loaded. This means taxonomy_nodeapi is not invoked before my hook even though the weigh of my module is greater than taxonomy.

Edit Adding code:

hook_nodeapi(&amp;$node, $op, $arg = 0) {
if ($node-&gt;type == 'articles' &amp;&amp; $op == 'load') {
  dpm($node)
 }


I think this may be default behaviors. Invoking taxonomy_nodeapi() directly works for me but I am still wondering as to why this is the case.
I think I am explaining this right, but the issue here is that hook_nodeapi() called with op = load returns a keyed array that is later on merged into the node object.  It doesn't do this in sequence and progressively build up as each module's hook is executed, eg, it doesn't modify the node object itself. Thus it does not allow other modules to look at any other extra load information from other modules until later on.

For example, taxonomy_nodeapi() called with op = load loads up the taxonomy term info and returns it as $output['taxonomy'].  So, it is never available to any other modules until the node_load() where it is then turned into $node->taxonomy based upon that key.  Here, all other modules that add to $node in the same way also add in their extra stuff. 

So yes, this is probably best described as default behavior.