Todd and Maciej,

Thank you both for your help. I was not loading this as an application/xhtml+xml but instead as html. This has taken care of many issues that i though i was going to have to work around and makes me quite happy. The content is no longer being rearranged, and its looks like well-formed and valid xhtml.

I'm curious why the DOM would rearrange the HTML content in that way. Any ideas?

BTW Maciej, why would getElementsByName not work? I haven't tried, but the other HTML specific methods seem to be working. From what I can tell the XHTML content still seems to be instantiated with the DOMHTML element subclasses of the DOMCore classes. I think that's how it should be. if the DOM is to treat HTML elements as subclasses then it makes sense to treat the XHTML elements as HTML subclasses too (at least for XHTML 1.0 and probably 1.1).

Beyond that it may require new subclasses descended off of the core DOM classes or perhaps another approach. For example, CoreDOM nodes could associate instance variables (say dictionaries) that encapsulate properties about that element-class. So for example, a 'img' element could be instantiated as a straight CoreDOM element but with instance variables indicating that it can have 'id', class', title', etc., attributes and must have a 'src' and 'alt' attribute. Other instance variables would indicate its prohibited, required, permitted, minimal and maximum content model. By including these instance variables in the CoreElement (and CoreAttribute) objects, the DOM would be duly abstracted and easily extended to other situations. Ideally these instance variables could be set directly from the document schema and sub-schema.

Perhaps this it the direction things are heading already, but for now, I'm happy to see the HTML subclasses work. I'm using a few category methods attached to a couple of the DOMHTML subclasses.

Thanks again,

best wishes,
Rob

On Aug 24, 2006, at 3:56 PM, Todd Ditchendorf wrote:

Are you loading the XHTML programatically from ObjC? If so, are you using - [WebFrame loadHTMLString:baseURL:] ?

If that's the case, I'm not totally positive, but I think using this method instad will fix your issue:

- [WebFrame loadData:MIMEType:textEncodingName:baseURL:]

and passing in @"application/xml" or @"text/xml" as the mime type.

Todd


On Aug 24, 2006, at 12:33 PM, Rob Burns wrote:

I sent the following message to the sdk list, but perhaps this list is more appropriate. Briefly, when loading XHTML into an editable WebView, the contents are getting rearranged: moving elements from the HEAD to the BODY. I thought someone here might know where the code is located that does this editing of rhd source upon load. In addition to rearranging elements, the WebView is also removing "/" from self-closing elements. I

Originally, was loading the file as HTML, but i've since corrected that but still encounter this bug.

(http://bugzilla.opendarwin.org/show_bug.cgi?id=10507)

Thanks for any assistance.

Rob



I'm working on an application that uses WebKit's editing capabilities. Though the headers show ample support for XHTML concepts and Safari handles XHTML very well, the use of XHTML in an editing situation seems to be difficult.

1) First of all, WebView immediately converts all elements in an XHTML document to upper case, which is not consistent wit the recommendation.

2) It also converts all self-closing elements to HTML style implicitly closed elements.

3) WebView removes the DocType declaration and the XML declaration from the document.

I've found work-arounds for these unfortunate bugs, but now I'm encounter more difficult problems. If an XHTML document includes elements from another namespace in the head, WEbView graciously moves them to the body element instead. The previous issues I planed to just fix upon save, but now I can't work with non-XHTM elements in the head whiole the document is editable by WebView because WebView jmoves those elements to where they do not belong. I filed a bug report on this, (http:// bugzilla.opendarwin.org/show_bug.cgi?id=10507).

Has anyone else encountered these problems and found ways to work around them. I'd like to get in there and fix them myself, but I'm not that familiar with C++ and I'm still getting my head around the vast array of classes. Any thoughts?

best,
Rob Burns

_______________________________________________
webkit-dev mailing list
webkit-dev@opendarwin.org
http://www.opendarwin.org/mailman/listinfo/webkit-dev


_______________________________________________
webkit-dev mailing list
webkit-dev@opendarwin.org
http://www.opendarwin.org/mailman/listinfo/webkit-dev

Reply via email to