[Mono-list] How often is the class status page updated?
Ben Maurer
bmaurer@users.sourceforge.net
18 Jun 2003 19:24:02 -0400
On Wed, 2003-06-18 at 18:56, Piers Haken wrote:
> Why on earth would you want to dynamically generate the status pages on
> the server? Are you expecting something to change in the assmeblies
> between page loads? The only time it makes sense to update the pages is
> after you've built the assemblies.
No, but I think in the future, we might want to have something like a
"report" that could be generated on what needs to be done (as an
example)
>
> Besides: your assumption that the HTML is smaller thatn the XML is in
> correct. Check the sizes, there's much more information in the
> corcompare-generated XML files than are presented in the HTML.
Sometimes that is because we use elements rather than attributes, for example:
<class>
<name>Console</name>
<members>
...
</members>
</class>
Can be made shorter by doing <class name="Console">. When we do that,
there we can make things smaller by gziping (since XML is going to be
more uniform than the HTML, the compression would be more effective).
However, the most powerful thing is that the same XML file can be used
to transform the data in multiple ways. For example, if someone were to
generate a report that nicely formatted all the System.Xml.XPath methods
that still needed work, they could do with the same file they used to
view all of System.Xml. If the file is used twice, the XML file will
probably win.
> Can you explain what "doubling back" means in the context of an XSTL
> tranform?
So you are going with you friends to a baseball game. Your friend, being
nice, offers to buy the food. So you tell him to get a hot dog and a
lemonade, but only if it will cost him less than 5 dollars. "ok" your
friend says. So he leaves his seat, and goes down the flights of stairs
to the back of the stadium.
10 minutes later, he comes back and tells you that it would have cost 7
dollars. So you give him two dollars, and you ask if he would go back,
being kind he does.
So 20 minutes after you arrive you have food.
In contrast, imagine if a person selling hotdogs and lemonade had
actually been near your seat. You would have had your food in maybe 5
minutes (I am disregarding price here).
So, lets translate this into XML land
<class name="UberCoolClass">
<member name="AdvancedUberMethod ()" implemented="false">
</class>
Lets say you are transforming the <class> element. The rule is as
follows:
If all the members are implemented:
C <classname>
else
I <classname>
So to find which rule to follow, you have to scan through the list of
members, until you find one that has implemented=false, or you get to
the end of the list.
Now imagine the same thing for:
<namespace name="System">
To find out if it was complete, you would need to scan all the members
until one was not implemented.
A better way to do this is to have:
<namespace name="System" complete="5000" incomplete="50">
That way you don't have to do any sort of counting.