Thursday, April 30, 2020

Re: Is the UI Binder DocType Broken?

There's no DTD for UiBinder (because it's by essence impossible), and no XML Schema either (for similar reasons, though at least it would work well with XML Namespaces).
That DOCTYPE you have here is only there to declare named entities like you have in XHTML ( , &eacirc;, etc.) rather than having to use numeric character references (  or   for a non-breaking space); it's basically a concatenation of those 3 files: https://www.w3.org/TR/xhtml1/#h-A2

BTW, the link works for me, and says exactly that:
<!--
  This is the complete set of named character entites defined in
  XHTML1.0.  Though this file was created for the convenience of users
  of the Google Web Toolkit, it should be useful for any XML
  document. It's essentially a union of:


    http://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent
    http://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent
    http://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent


  Sample usage:
  <!DOCTYPE ui:UiBinder
    SYSTEM "https://dl-ssl.google.com/download/gwt/DTD/xhtml.ent">


  This file is maintained at
  <http://google-web-toolkit.googlecode.com/svn/trunk/user/src/com/google/gwt/uibinder/resources/xhtml.ent>. Changes
  made to it must be propagated to the URL in the sample above.
-->

The thing is, this file is now "maintained" at https://gwt.googlesource.com/gwt/+/refs/heads/master/user/src/com/google/gwt/uibinder/resources/xhtml.ent but hasn't changed in 10 years (just like XHTML 1.0 hasn't changed in 18 years). It won't change in the foreseeable future, and it is unlikely that the file hosted on Google servers will ever be updated.

Now, what are your options?
  • if you don't need it, just remove the DOCTYPE altogether
  • if you do use the entities, then:
    • try to move out, then go to 1. above
    • cross your fingers that Google will preserve the file accessible at that URL in the future
    • reference one of the files from the W3C instead
    • reference all 3 files from the W3C with a "proper" DOCTYPE:
      <!DOCTYPE ui:UiBinder [

      <!ENTITY % HTMLlat1 SYSTEM "https://www.w3.org/TR/xhtml1/DTD/xhtml-lat1.ent">

      %HTMLlat1;


      <!ENTITY % HTMLsymbol SYSTEM "https://www.w3.org/TR/xhtml1/DTD/xhtml-symbol.ent">
      %HTMLsymbol;


      <!ENTITY % HTMLspecial SYSTEM "https://www.w3.org/TR/xhtml1/DTD/xhtml-special.ent">
      %HTMLspecial;
      ]>




On Tuesday, April 28, 2020 at 7:23:50 PM UTC+2, Scott Onyx Harmon wrote:
<!DOCTYPE ui:UiBinder SYSTEM "http://dl.google.com/gwt/DTD/xhtml.ent">

No longer seems to be functioning properly, as I now get multiple "errors" in my XML files such as:
Element type "ui:UiBinder" must be declared.

Is there a new place to get the DTD?

--
You received this message because you are subscribed to the Google Groups "GWT Users" group.
To unsubscribe from this group and stop receiving emails from it, send an email to google-web-toolkit+unsubscribe@googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/google-web-toolkit/de9538dc-0e84-463b-97bf-8cfa481c1ea7%40googlegroups.com.

No comments:

Post a Comment