10 Replies Latest reply on Nov 4, 2011 11:26 PM by fustiniadmin

    Teaser peek at Version 6 XML Format

    Jorge_Garcia

      Hi Guys,

       

      I got permission to release a picture which shows a portion of an EAGLE schematic V6 as viewed through Bazaar's Diff Tool.

       

      As you guys can see the structure is pretty straight-forward and it doesn't take much to figure out what's going on, in the file. I thought this image would help lay to rest concerns of a bloated or overly complicated XML format.

       

      @Newsgroup users, the picture is larger than what the 50KB NNTP limit. If you guys have any suggestions on how I could give you guys easy access to the image, please reply.

       

      Best Regards,

       

      Jorge Garcia

      Cadsoft Support

        • Re: Teaser peek at Version 6 XML Format
          Drew Fustini

          Thanks for posting, Jorge.  That's great to see!

           

          Thanks,

          Drew

          • Re: Teaser peek at Version 6 XML Format
            blalor

            Thank you, Jorge.  It looks like you're off to a good start, however, I'd like to echo some comments I just made in the thread Phil Torrrone started back in October:

             

            I'm really happy to see the EAGLE team adding XML support.  Any kind of native text support would be a big plus, but I've worked with XML a *lot* and there are some very powerful toolsets for working with it.

             

            That being said, a couple of things about this announcement worry me.  First is the use of the word "ASCII", which I'm just hoping is sloppy technical jargon for "text".  ASCII is a very limited character encoding that has been surpassed by UTF-8, which is able to represent characters like "é" and "€".  I'm also bothered by the lack of indenting in the screenshot above, as it doesn't show much attention to detail.  Neither of these are technical show-stoppers, however.

             

            What's most important is that a robust, stable, versioned XML schema is published, and that the tools that CadSoft provide for parsing and generating XML documents strictly adheres to it and provides meaningful errors when validation fails.  Do not fall into the trap of building a loosely-defined schema and then throwing errors in the program logic when the attribute you defined as an xsd:string isn't a valid floating-point number.  A good schema will allow you to use tools like xmllint to make sure the XML you're generating from gEDA or Kicad (or from the bash script you wrote for generating your schematics before GUI tools became cool) is valid and stands a solid chance of being usable by EAGLE.

             

            Thanks for listening!

            Brian

              • Re: Teaser peek at Version 6 XML Format
                kcadsoft

                On 14.09.2011 12:30, Brian Lalor wrote:

                ...

                First is the use of the word "ASCII", which I'm just hoping is sloppy technical jargon for "text".  ASCII is a very limited character encoding that has been surpassed by UTF-8, which is able to represent characters like "é" and "€" (although, dollars to donuts that Jive screws those up in this reply, too).

                 

                It's UTF-8, of course.

                 

                I'm also bothered by the lack of indenting in the screenshot above, as it doesn't show much attention to detail.

                 

                We did this on purpose to keep the file size as small as possible.

                 

                What's most important is that a robust, stable, versioned XML schema is published, and that the tools that CadSoft provide for parsing and generating XML documents strictly adheres to it and provides meaningful errors when validation fails.  Do not fall into the trap of building a loosely-defined schema and then throwing errors in the program logic when the attribute you defined as an xsd:string isn't a valid floating-point number.  A good schema will allow you to use tools like xmllint to make sure the XML you're generating from gEDA or Kicad (or from the bash script you wrote for generating your schematics before GUI tools became cool) is valid and stands a solid chance of being usable by EAGLE.

                 

                We'll do our best - but in the end, EAGLE itself is the judge of what's

                correct

                 

                Klaus Schmidinger

                --

                _______________________________________________________________

                 

                Klaus Schmidinger                       Phone: +49-8635-6989-10

                CadSoft Computer GmbH                   Fax:   +49-8635-6989-40

                Pleidolfweg 15                          Email:   kls@cadsoft.de

                D-84568 Pleiskirchen, Germany           URL:     www.cadsoft.de

                _______________________________________________________________

                 

                  • EAGLE 6 vector font (was: Teaser peek at Version 6 XML Format)

                    Am 14.09.2011 18:04, schrieb Klaus Schmidinger:

                    It's UTF-8, of course.

                     

                    EAGLE's user interface already supports Unicode character ENTRY since

                    some time. Unfortunately, special Unicode characters are just NOT taken

                    from the user interface to the program itself, but are either converted

                    to question marks or to nothing.

                     

                    The storage format for EAGLE 6 will be UTF-8. Wonderful. Therefore, both

                    user interface AND storage will be able to cope with non-ASCII (above

                    #127) characters. Will perhaps even the VECTOR font get all additional

                    characters to support the Unicode ranges "C0 controls and basic latin"

                    (that's ASCII 32..127) PLUS "C1 controls and Latin-1 supplement" (lots

                    of stuff from ANSI 128..255)? That would at least make all western

                    european people happy...

                     

                    And, since several people already complained about the vector font not

                    really LOOKING nice: Good old Mr. Hershey didn't only design the basic

                    characters of EAGLE's vector font, but also a highly-readable stroked

                    font that looks very nice and is sometimes called "Simplex" (yes, that

                    stuff came with Borland compilers in EAGLE's Pascal times), and which

                    even has Greek characters in (Borland's Greeks didn't look convincing).

                    The Hershey fonts should be license-free and easy to patch to include

                    accents etc. For font samples and data, take a look at

                       http://paulbourke.net/dataformats/hershey/

                    (some characters would need to be reduced to single-stroked ones).

                     

                    You will even find a Japanese Hershey set available there. Hiragana and

                    Katakana are supplied, but I'm not so sure whether the rest is really

                    useful (not knowing Japanese at all), or whether it's really only a

                    fraction of what's necessary.

                     

                    Andreas Weidner

                     

                    • Re: Teaser peek at Version 6 XML Format
                      blalor

                      Hey, Klaus.  I just saw the following XML snippet over on adafruit:

                       

                      <wire x1="0" y1="7.62" x2="0" y2="-5.08" width="0.254" layer="94"/> <wire x1="0" y1="-5.08" x2="5.08" y2="-5.08" width="0.254" layer="94"/> <wire x1="0" y1="7.62" x2="5.08" y2="7.62" width="0.254" layer="94"/>

                       

                       

                      Would it be possible to get unique id attributes on all elements, including wires?  That could really be helpful when processing the XML.  Thanks!