Yes it is butt ugly although most of it can be safely ignored since it's designed to do everything under the sun (Typical XML) and PHP OO is a pretty narrow subset.

Added to the problem is that fact that they are using a rather old version of the standard (1.0 for UML 1.3).

UPDATE: One thing that I've noticed about the XMI doc that argo is generating is that it is haphazard in its form because it is automatically generated by the tool. This makes it look a lot uglier than it needs be. I'm able to make it alot simpler:

#!/usr/bin/perl use strict; use warnings; ############# # HERE DOCS # ############# my %type = ( boolean => 1, integer => 2, float => 3, string => 4, array => 5, object => 6, void => 7 ); sub xmi_type { unless (@_ >= 1) { die ("\nxmi_type requires type name parameter.\n"); } my $name = shift; my $id = shift; (my $t = <<" QUOTE") =~ s/^\t\t//gm; <Foundation.Core.DataType xmi.id="xmi.$id"> <Foundation.Core.ModelElement.name>$name</Foundation +.Core.ModelElement.name> <Foundation.Core.ModelElement.isSpecification xmi.va +lue="false"/> <Foundation.Core.GeneralizableElement.isRoot xmi.val +ue="false"/> <Foundation.Core.GeneralizableElement.isLeaf xmi.val +ue="false"/> <Foundation.Core.GeneralizableElement.isAbstract xmi +.value="false"/> <Foundation.Core.ModelElement.namespace> <Foundation.Core.Namespace xmi.idref="xmi.1"/> </Foundation.Core.ModelElement.namespace> </Foundation.Core.DataType> QUOTE return $t; } # type while ((my $key, my $value) = each (%type)) { print xmi_type($key, $value); }

This generates the XMI for all of the standard PHP datatypes.
()-()                                                      ()-()
 \"/    DON'T   BLAME   ME,   I  VOTED   FOR    PACO!       \"/
  `                                                          ` 

In reply to Re: Re: Re: Re: PHP UML Diagram Generator by ignatz
in thread PHP UML Diagram Generator by ignatz

Title:
Use:  <p> text here (a paragraph) </p>
and:  <code> code here </code>
to format your post, it's "PerlMonks-approved HTML":



  • Posts are HTML formatted. Put <p> </p> tags around your paragraphs. Put <code> </code> tags around your code and data!
  • Titles consisting of a single word are discouraged, and in most cases are disallowed outright.
  • Read Where should I post X? if you're not absolutely sure you're posting in the right place.
  • Please read these before you post! —
  • Posts may use any of the Perl Monks Approved HTML tags:
    a, abbr, b, big, blockquote, br, caption, center, col, colgroup, dd, del, details, div, dl, dt, em, font, h1, h2, h3, h4, h5, h6, hr, i, ins, li, ol, p, pre, readmore, small, span, spoiler, strike, strong, sub, summary, sup, table, tbody, td, tfoot, th, thead, tr, tt, u, ul, wbr
  • You may need to use entities for some characters, as follows. (Exception: Within code tags, you can put the characters literally.)
            For:     Use:
    & &amp;
    < &lt;
    > &gt;
    [ &#91;
    ] &#93;
  • Link using PerlMonks shortcuts! What shortcuts can I use for linking?
  • See Writeup Formatting Tips and other pages linked from there for more info.