On Jul 20, 2012, at 9:50 AM, Freek Dijkstra wrote:

On 20-07-2012 15:31, Roman Ɓapacz wrote:

Fine by me. The only small possible problem I see is that this solution
makes topology document quite static (not sure it's the right word;
maybe less flexible to manipulate). I can imagine that a topology
storage is split (even automatically) because of some reason and then
we've got more than one document. During this operation references would
have to be added in the right places.

Good one. There actually seem two scenarios.

1. A document contains an internal reference. This may be useful for a
parser which does not parse the full XML at once, so it knows it should
continue.

2. A document contains an external reference. This may be useful for a
parser so it knows if it does not find certain information, it can not
conclude that that information is absent (it may simply be defined
elsewhere).

In addition, in this second scenario a parser which encounters a network
object without properties and without the reference flag may raise a
warning because either the flag is missing, it is missing properties, or
there is a typo in the URI.

My proposal only covers this second example.
You are right that this requires work when a topology description is
split or merged, but I think that is the case anyhow -- at least I see a
need for some checks and rewrites anyway before I'm going to accept a
Topology description from another domain before I add it "As is" to my
database.

I guess I'm not sure what the purpose is in differentiating "defined in the same document" vs. "defined in a different document". From my perspective, it's either "the network element i'm describing is defined here in the element being parsed", or "the network element i'm describing is defined somewhere outside the element being parsed".

Cheers,
Aaron

ESCC/Internet2 Joint Techs
July 15-19, 2012 - Palo Alto, California
Hosted by Stanford University
http://events.internet2.edu/2012/jt-stanford/