pin:
      pinNumber: 2
      pinName: "rst"
      x1: 1234
      y1: 4321
      x2: 2345
      y2: 4321
      layer: component
     or
     <pin><pinNumber>2</pinNumber><pinName>"rst"<\pinName><x1>1234<\x1><y
     1>4321<\y1><x2>2345<\x2><y2>5432<\y2><layer>component<\layer><\pin>
     I call the second large, bloat, and ugly.

   ---------------------------------------------
   Here you go:
   ===============================
    #!/usr/bin/perl  -w
     use strict;
     use warnings;
     my $filename = shift @ARGV;
     use XML::LibXML;
     my $parser = XML::LibXML->new();
     my $doc    = $parser->parse_file($filename);
     foreach
     my $pin ($doc->findnodes('/pin')) {
       my($pinNumber)  = $pin->findnodes('./pinNumber/text()')->to_literal
   ;
       my($pinName)    = $pin->findnodes('./pinName/text()')->to_literal ;
       my($x1)         = $pin->findnodes('./x1/text()')->to_literal ;
       my($y1)         = $pin->findnodes('./y1/text()')->to_literal ;
       my($x2)         = $pin->findnodes('./x2/text()')->to_literal ;
       my($y2)         = $pin->findnodes('./y2/text()')->to_literal ;
       my($layer)      = $pin->findnodes('./layer/text()')->to_literal ;
       print "pin\n";
       print "  pinNumber: $pinNumber\n";
       print "  pinName: $pinName\n";
       print "  x1: $x1\n";
       print "  y1: $y1\n";
       print "  x2: $x2\n";
       print "  y2: $y2\n";
       print "  layer: $layer\n";
    }
   =================================
   Simple perl script will make things pretty again. (after you fix the
   your backslashes). Only takes
   one extra module (libXML) that you can apt-get on ubuntu.  Going back
   the other way is just as easy once
   you write a parser for your format.
   If size is an issue you can always store everything compressed.  Then
   we can have another argument about
   whether we should create our own compression scheme or use an existing
   one.
   John Eaton

_______________________________________________
geda-user mailing list
[email protected]
http://www.seul.org/cgi-bin/mailman/listinfo/geda-user

Reply via email to