htmlparser-developer Mailing List for HTML Parser (Page 5)
Brought to you by:
derrickoswald
You can subscribe to this list here.
2001 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
|
Oct
(4) |
Nov
(1) |
Dec
(4) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
2002 |
Jan
(12) |
Feb
|
Mar
(7) |
Apr
(27) |
May
(14) |
Jun
(16) |
Jul
(27) |
Aug
(74) |
Sep
(1) |
Oct
(23) |
Nov
(12) |
Dec
(119) |
2003 |
Jan
(31) |
Feb
(23) |
Mar
(28) |
Apr
(59) |
May
(119) |
Jun
(10) |
Jul
(3) |
Aug
(17) |
Sep
(8) |
Oct
(38) |
Nov
(6) |
Dec
(1) |
2004 |
Jan
(4) |
Feb
(4) |
Mar
(1) |
Apr
(2) |
May
|
Jun
(7) |
Jul
(6) |
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
|
2005 |
Jan
|
Feb
(1) |
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
(2) |
Sep
(10) |
Oct
(4) |
Nov
(15) |
Dec
|
2006 |
Jan
|
Feb
(1) |
Mar
|
Apr
(4) |
May
(11) |
Jun
|
Jul
|
Aug
|
Sep
(2) |
Oct
|
Nov
|
Dec
|
2007 |
Jan
(3) |
Feb
(2) |
Mar
|
Apr
(2) |
May
|
Jun
|
Jul
(1) |
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2008 |
Jan
|
Feb
(1) |
Mar
|
Apr
|
May
|
Jun
|
Jul
|
Aug
|
Sep
(5) |
Oct
(1) |
Nov
|
Dec
|
2009 |
Jan
|
Feb
(1) |
Mar
|
Apr
(2) |
May
|
Jun
(4) |
Jul
|
Aug
(1) |
Sep
|
Oct
|
Nov
|
Dec
(2) |
2010 |
Jan
(1) |
Feb
|
Mar
|
Apr
(8) |
May
|
Jun
|
Jul
|
Aug
|
Sep
(6) |
Oct
|
Nov
(1) |
Dec
|
2011 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(3) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2012 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2014 |
Jan
|
Feb
|
Mar
|
Apr
|
May
(1) |
Jun
|
Jul
|
Aug
|
Sep
|
Oct
|
Nov
|
Dec
|
2015 |
Jan
|
Feb
|
Mar
|
Apr
(1) |
May
|
Jun
(1) |
Jul
|
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(1) |
2016 |
Jan
|
Feb
|
Mar
|
Apr
|
May
|
Jun
|
Jul
(2) |
Aug
|
Sep
|
Oct
|
Nov
(2) |
Dec
(2) |
From: dualspacekimo <dua...@ya...> - 2005-04-21 16:37:09
|
I am confused with that....Nodelist's method Especially the NotFilter ... If I want to filter the RemarkNode. Is it possible that use the following code to achive the goal? I have write the code...but not skip the comment in the html. NodeList nodelist = parser.extractAllNodesThatMatch(new HasAttributeFilter ("class","blogbody")); nodelist.keepAllNodesThatMatch( new NotFilter(new NodeClassFilter (RemarkNode.class)); SimpleNodeIterator Noderator = nodelist.elements(); while(Noderator.hasMoreNodes()){ ......//print the content }//end while _______________________________________________________________________ Yahoo!奇摩電子信箱 免費容量250MB,信件在多也不怕 http://tw.promo.yahoo.com/mail_new/index.html |
From: Derrick O. <Der...@Ro...> - 2005-04-07 02:27:18
|
Creating the project isn't a problem. Maintaining it is. Another way might be to keep the translate library in the htmlparser code stream and then it gets the build, distribute, testing etc. for free. Martin Kersten wrote: > Hi Derrick, > >> Hmmm, another project. >> Despite the large number of developers in htmlparser, it's really >> only me that is active. So in effect you are asking me if I would >> like to take on another project. >> I'm not sure. >> It's a bit heavy-weight for such a utility. > > > I don't think it is that difficult to form a new project. I > would expect to see about 6 or 8 classes and a high quality > unit-test suite. Since the Html 4.0 standards seams to be not > a subject of change, I guess there would be only hunting left (I would > guess there isn't that much chance of seeing more then a > couple of bugs in that area). > >> Are there other projects that would use it besides htmlparser and >> spring? > > > Maybe jakarta projects may also be a target audience. Googling > for character entity references, I found about 5 or 6 java projects > implementing their own solutions to this problem. > >> Would spring even agree to use it? > > > I can ask those folks, if you wouldn't mind. They said > that they would like to replace the current implementation > with a 3rd party library. But you are right, we should > be sure, if they would use such a small special purpose > library. > . > >> While conceptually I agree with the concept of coalescence of >> disparate code streams, I wonder if it would gain the traction >> necessary in the open source bazaar given the ease with which a 'good >> enough' solution can be created. Is there another way? > > > What exactly do you mean by 'another way'? > >> The encoding/decoding of URLs (%20 for space etc.) derives from a >> different origin RFP 2396: http://www.ietf.org/rfc/rfc2396.txt >> Is that what you mean by encodeUrl() or am I missing something? > > > Right. The problem is mean is currently you have two special classes > to use. URLEncoder and URLDecoder. Also everytime using them, it > ends with specifying UTF-8 as the encoding shema (since the > decode/encode(String) methods are deprecated). > > > Cheers, > > Martin (Kersten) > >>> Hi Derrick, >>> >>>> HTML Parser has a similar class as well... >>>> org.htmlparser.util.Translate.java: >>> >>> >>> >>> This file I was originally thinking about, thats right. >>> >>>> This file was arrived at via a similar mechanism to your own. It's >>>> not stand-alone, relying on a sort utility, to avoid two copies of >>>> each reference in the class, and two reference classes, for a total >>>> of about 5 classes. >>> >>> >>> >>> I use a class called CharacterEntityReferences storing a collection >>> of the references (simply map of String to Integer). >>> >>> To determine if a given character is a special character (a entity >>> reference exist), I use a binary field (int type with each bit >>> representing a character reference between [0...1000] and >>> [8000...10000]. Works very well. >>> >>> But this are implementational details we can discuss later. >>> The goal is to provide a single solution which is well tested >>> and reliable. I found a bug within the original spring version >>> (numeric references of � till of 	 are not processed >>> in the right way). >>> >>> Also I was looking around finding some implementations only >>> supporting character references for characters <=255. So >>> these implementations are not complete in terms of the >>> specifications. >>> >>> So I guess there is a need for that library. >>> >>>> There was a patch provided by *Karsten Pawlik* that loaded the >>>> table from a resource: >>>> >>>> http://sourceforge.net/tracker/index.php?func=detail&aid=897297&group_id=24399&atid=381401 >>>> >>>> but this was never integrated. >>> >>> >>> >>> I don't like my version using a secondary resource also. >>> You know I need to use a TokenStream which makes it quite >>> complex. (I use the DTD definitions provided by w3.org). >>> But it should give a great unit-test case since in this resource >>> is every entity reference and so converting this file and checking >>> if all entity references are converted would be a necessary test, >>> which is the desired test situation. >>> >>> I currently favour a version using something like sequences to shorten >>> the needed amount of lines of code to set up all entities. >>> But which implementation is finally choosen does not matter >>> much to me anyways as long as the version is highly reliable and >>> quite fast when it comes to actually conversion. >>> >>>> This could be broken out into a separate jar. Is that what you are >>>> suggesting? >>> >>> >>> >>> Yes. I would like to have a special library for only encoding and >>> decoding strings to HTML. Also I would like to add >>> encode/decodeURL methods to avoid using URLEncoder and >>> URLDecoder by also adding "UTF-8" as default encoding character >>> set, since URLDecoder.decode(String) is deprecated. >>> >>> So something like: >>> >>> HtmlUtils.encode(String normalString) : htmlString >>> HtmlUtils.decode(String htmlString) : normal string >>> HtmlUtils.encodeUrl(String normalString) : URL (UTF-8) >>> HtmlUtils.decodeUrl(String url) : String normalString >>> >>> Maybe renaming the HtmlUtils to HtmlCoder or something similar >>> would also be appreciated. (or HtmlConverter) >>> >>> Is it possible to put this library under a special sourceforge >>> project? Like HtmlCoder project or what ever? I guess there is >>> some more functionality to add in order to support streams and >>> readers to simplify its use. If we are doing right with this library >>> there is a chance that even more projects will use this library >>> instead of their on (possible limited) solutions. >>> >>> For the ownership of the project: I would suggest if you guys >>> can handle it. You do well with the html-parser and I guess >>> you have what it takes. Of cause I would like to contribute >>> all my code and knowledge. Also I would like to do some >>> testing which implementation of the decoding/encoding >>> algorithms are finally used and review/develop a complete >>> set of unit-tests (I don't know your test coverage so maybe >>> your HtmlParser codebase already have anything what it >>> takes). >>> >>> So you see this is actually a quite complex field :-) >>> >>> >>> Cheers, >>> >>> Martin (Kersten) >>> >>> PS: I would also like to use named entity references >>> when encoding a html-string (currently the Spring version >>> does only use number formats, which arn't that handy >>> if you need to read the encoded html). >>> >>>> >>>> Derrick >>>> >>>> Martin Kersten wrote: >>>> >>>>> Dear Html-Parser developers, >>>>> >>>>> my name is Martin Kersten and I am looking for a library doing >>>>> HTML related conversions. Originally I started to refactor the >>>>> HtmlUtils >>>>> class of the Spring framework. But thinking about it, it would be >>>>> best >>>>> if such a capability (decode/encode strings from / to Html) would be >>>>> provided by a special and tiny library. Such a library would be a >>>>> relief, I guess. Also I wouldn't like to invent the wheel, twice... . >>>>> >>>>> Also by my own refactoring affords, I ended with a special class >>>>> encapuslating the named entity references and load it from file >>>>> (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html >>>>> files). >>>>> I don't know if this efford is worth it but from an OOP stand >>>>> point it looks nice :-). >>>>> >>>>> Anyways, I would be happy if such a highly focused library would >>>>> be out there. >>>>> So what do you think? Any chance that such a library can be created? >>>>> >>>>> >>>>> Cheers, >>>>> >>>>> Martin (Kersten) >>>>> >>>>> PS: I am not a Spring developer, I am just a Spring user who >>>>> cares... . :-) >>>>> > |
From: Martin K. <Mar...@St...> - 2005-04-06 21:20:40
|
Hi Derrick, > Hmmm, another project. > Despite the large number of developers in htmlparser, it's really only me > that is active. So in effect you are asking me if I would like to take on > another project. > I'm not sure. > It's a bit heavy-weight for such a utility. I don't think it is that difficult to form a new project. I would expect to see about 6 or 8 classes and a high quality unit-test suite. Since the Html 4.0 standards seams to be not a subject of change, I guess there would be only hunting left (I would guess there isn't that much chance of seeing more then a couple of bugs in that area). > Are there other projects that would use it besides htmlparser and spring? Maybe jakarta projects may also be a target audience. Googling for character entity references, I found about 5 or 6 java projects implementing their own solutions to this problem. > Would spring even agree to use it? I can ask those folks, if you wouldn't mind. They said that they would like to replace the current implementation with a 3rd party library. But you are right, we should be sure, if they would use such a small special purpose library. . > While conceptually I agree with the concept of coalescence of disparate > code streams, I wonder if it would gain the traction necessary in the open > source bazaar given the ease with which a 'good enough' solution can be > created. Is there another way? What exactly do you mean by 'another way'? > The encoding/decoding of URLs (%20 for space etc.) derives from a > different origin RFP 2396: http://www.ietf.org/rfc/rfc2396.txt > Is that what you mean by encodeUrl() or am I missing something? Right. The problem is mean is currently you have two special classes to use. URLEncoder and URLDecoder. Also everytime using them, it ends with specifying UTF-8 as the encoding shema (since the decode/encode(String) methods are deprecated). Cheers, Martin (Kersten) >> Hi Derrick, >> >>> HTML Parser has a similar class as well... >>> org.htmlparser.util.Translate.java: >> >> >> This file I was originally thinking about, thats right. >> >>> This file was arrived at via a similar mechanism to your own. It's not >>> stand-alone, relying on a sort utility, to avoid two copies of each >>> reference in the class, and two reference classes, for a total of about >>> 5 classes. >> >> >> I use a class called CharacterEntityReferences storing a collection >> of the references (simply map of String to Integer). >> >> To determine if a given character is a special character (a entity >> reference exist), I use a binary field (int type with each bit >> representing a character reference between [0...1000] and >> [8000...10000]. Works very well. >> >> But this are implementational details we can discuss later. >> The goal is to provide a single solution which is well tested >> and reliable. I found a bug within the original spring version >> (numeric references of � till of 	 are not processed >> in the right way). >> >> Also I was looking around finding some implementations only >> supporting character references for characters <=255. So >> these implementations are not complete in terms of the >> specifications. >> >> So I guess there is a need for that library. >> >>> There was a patch provided by *Karsten Pawlik* that loaded the table >>> from a resource: >>> >>> http://sourceforge.net/tracker/index.php?func=detail&aid=897297&group_id=24399&atid=381401 >>> but this was never integrated. >> >> >> I don't like my version using a secondary resource also. >> You know I need to use a TokenStream which makes it quite >> complex. (I use the DTD definitions provided by w3.org). >> But it should give a great unit-test case since in this resource >> is every entity reference and so converting this file and checking >> if all entity references are converted would be a necessary test, >> which is the desired test situation. >> >> I currently favour a version using something like sequences to shorten >> the needed amount of lines of code to set up all entities. >> But which implementation is finally choosen does not matter >> much to me anyways as long as the version is highly reliable and >> quite fast when it comes to actually conversion. >> >>> This could be broken out into a separate jar. Is that what you are >>> suggesting? >> >> >> Yes. I would like to have a special library for only encoding and >> decoding strings to HTML. Also I would like to add >> encode/decodeURL methods to avoid using URLEncoder and >> URLDecoder by also adding "UTF-8" as default encoding character >> set, since URLDecoder.decode(String) is deprecated. >> >> So something like: >> >> HtmlUtils.encode(String normalString) : htmlString >> HtmlUtils.decode(String htmlString) : normal string >> HtmlUtils.encodeUrl(String normalString) : URL (UTF-8) >> HtmlUtils.decodeUrl(String url) : String normalString >> >> Maybe renaming the HtmlUtils to HtmlCoder or something similar >> would also be appreciated. (or HtmlConverter) >> >> Is it possible to put this library under a special sourceforge >> project? Like HtmlCoder project or what ever? I guess there is >> some more functionality to add in order to support streams and >> readers to simplify its use. If we are doing right with this library >> there is a chance that even more projects will use this library >> instead of their on (possible limited) solutions. >> >> For the ownership of the project: I would suggest if you guys >> can handle it. You do well with the html-parser and I guess >> you have what it takes. Of cause I would like to contribute >> all my code and knowledge. Also I would like to do some >> testing which implementation of the decoding/encoding >> algorithms are finally used and review/develop a complete >> set of unit-tests (I don't know your test coverage so maybe >> your HtmlParser codebase already have anything what it >> takes). >> >> So you see this is actually a quite complex field :-) >> >> >> Cheers, >> >> Martin (Kersten) >> >> PS: I would also like to use named entity references >> when encoding a html-string (currently the Spring version >> does only use number formats, which arn't that handy >> if you need to read the encoded html). >> >>> >>> Derrick >>> >>> Martin Kersten wrote: >>> >>>> Dear Html-Parser developers, >>>> >>>> my name is Martin Kersten and I am looking for a library doing HTML >>>> related conversions. Originally I started to refactor the HtmlUtils >>>> class of the Spring framework. But thinking about it, it would be best >>>> if such a capability (decode/encode strings from / to Html) would be >>>> provided by a special and tiny library. Such a library would be a >>>> relief, I guess. Also I wouldn't like to invent the wheel, twice... . >>>> >>>> Also by my own refactoring affords, I ended with a special class >>>> encapuslating the named entity references and load it from file >>>> (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html files). >>>> I don't know if this efford is worth it but from an OOP stand point it >>>> looks nice :-). >>>> >>>> Anyways, I would be happy if such a highly focused library would >>>> be out there. >>>> So what do you think? Any chance that such a library can be created? >>>> >>>> >>>> Cheers, >>>> >>>> Martin (Kersten) >>>> >>>> PS: I am not a Spring developer, I am just a Spring user who cares... . >>>> :-) >>>> > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Htmlparser-developer mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlparser-developer > |
From: Derrick O. <Der...@Ro...> - 2005-04-06 11:19:43
|
Martin, Hmmm, another project. Despite the large number of developers in htmlparser, it's really only me that is active. So in effect you are asking me if I would like to take on another project. I'm not sure. It's a bit heavy-weight for such a utility. Are there other projects that would use it besides htmlparser and spring? Would spring even agree to use it? While conceptually I agree with the concept of coalescence of disparate code streams, I wonder if it would gain the traction necessary in the open source bazaar given the ease with which a 'good enough' solution can be created. Is there another way? The encoding/decoding of URLs (%20 for space etc.) derives from a different origin RFP 2396: http://www.ietf.org/rfc/rfc2396.txt Is that what you mean by encodeUrl() or am I missing something? Derrick Martin Kersten wrote: > Hi Derrick, > >> HTML Parser has a similar class as well... >> org.htmlparser.util.Translate.java: > > > This file I was originally thinking about, thats right. > >> This file was arrived at via a similar mechanism to your own. It's >> not stand-alone, relying on a sort utility, to avoid two copies of >> each reference in the class, and two reference classes, for a total >> of about 5 classes. > > > I use a class called CharacterEntityReferences storing a collection > of the references (simply map of String to Integer). > > To determine if a given character is a special character (a entity > reference exist), I use a binary field (int type with each bit > representing a character reference between [0...1000] and > [8000...10000]. Works very well. > > But this are implementational details we can discuss later. > The goal is to provide a single solution which is well tested > and reliable. I found a bug within the original spring version > (numeric references of � till of 	 are not processed > in the right way). > > Also I was looking around finding some implementations only > supporting character references for characters <=255. So > these implementations are not complete in terms of the > specifications. > > So I guess there is a need for that library. > >> There was a patch provided by *Karsten Pawlik* that loaded the table >> from a resource: >> >> http://sourceforge.net/tracker/index.php?func=detail&aid=897297&group_id=24399&atid=381401 >> >> but this was never integrated. > > > I don't like my version using a secondary resource also. > You know I need to use a TokenStream which makes it quite > complex. (I use the DTD definitions provided by w3.org). > But it should give a great unit-test case since in this resource > is every entity reference and so converting this file and checking > if all entity references are converted would be a necessary test, > which is the desired test situation. > > I currently favour a version using something like sequences to shorten > the needed amount of lines of code to set up all entities. > But which implementation is finally choosen does not matter > much to me anyways as long as the version is highly reliable and > quite fast when it comes to actually conversion. > >> This could be broken out into a separate jar. Is that what you are >> suggesting? > > > Yes. I would like to have a special library for only encoding and > decoding strings to HTML. Also I would like to add > encode/decodeURL methods to avoid using URLEncoder and > URLDecoder by also adding "UTF-8" as default encoding character > set, since URLDecoder.decode(String) is deprecated. > > So something like: > > HtmlUtils.encode(String normalString) : htmlString > HtmlUtils.decode(String htmlString) : normal string > HtmlUtils.encodeUrl(String normalString) : URL (UTF-8) > HtmlUtils.decodeUrl(String url) : String normalString > > Maybe renaming the HtmlUtils to HtmlCoder or something similar > would also be appreciated. (or HtmlConverter) > > Is it possible to put this library under a special sourceforge > project? Like HtmlCoder project or what ever? I guess there is > some more functionality to add in order to support streams and > readers to simplify its use. If we are doing right with this library > there is a chance that even more projects will use this library > instead of their on (possible limited) solutions. > > For the ownership of the project: I would suggest if you guys > can handle it. You do well with the html-parser and I guess > you have what it takes. Of cause I would like to contribute > all my code and knowledge. Also I would like to do some > testing which implementation of the decoding/encoding > algorithms are finally used and review/develop a complete > set of unit-tests (I don't know your test coverage so maybe > your HtmlParser codebase already have anything what it > takes). > > So you see this is actually a quite complex field :-) > > > Cheers, > > Martin (Kersten) > > PS: I would also like to use named entity references > when encoding a html-string (currently the Spring version > does only use number formats, which arn't that handy > if you need to read the encoded html). > >> >> Derrick >> >> Martin Kersten wrote: >> >>> Dear Html-Parser developers, >>> >>> my name is Martin Kersten and I am looking for a library doing >>> HTML related conversions. Originally I started to refactor the >>> HtmlUtils >>> class of the Spring framework. But thinking about it, it would be best >>> if such a capability (decode/encode strings from / to Html) would be >>> provided by a special and tiny library. Such a library would be a >>> relief, I guess. Also I wouldn't like to invent the wheel, twice... . >>> >>> Also by my own refactoring affords, I ended with a special class >>> encapuslating the named entity references and load it from file >>> (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html files). >>> I don't know if this efford is worth it but from an OOP stand point >>> it looks nice :-). >>> >>> Anyways, I would be happy if such a highly focused library would >>> be out there. >>> So what do you think? Any chance that such a library can be created? >>> >>> >>> Cheers, >>> >>> Martin (Kersten) >>> >>> PS: I am not a Spring developer, I am just a Spring user who >>> cares... . :-) >>> |
From: Martin K. <Mar...@St...> - 2005-04-06 00:33:30
|
Hi Derrick, > HTML Parser has a similar class as well... > org.htmlparser.util.Translate.java: This file I was originally thinking about, thats right. > This file was arrived at via a similar mechanism to your own. It's not > stand-alone, relying on a sort utility, to avoid two copies of each > reference in the class, and two reference classes, for a total of about 5 > classes. I use a class called CharacterEntityReferences storing a collection of the references (simply map of String to Integer). To determine if a given character is a special character (a entity reference exist), I use a binary field (int type with each bit representing a character reference between [0...1000] and [8000...10000]. Works very well. But this are implementational details we can discuss later. The goal is to provide a single solution which is well tested and reliable. I found a bug within the original spring version (numeric references of � till of 	 are not processed in the right way). Also I was looking around finding some implementations only supporting character references for characters <=255. So these implementations are not complete in terms of the specifications. So I guess there is a need for that library. > There was a patch provided by *Karsten Pawlik* that loaded the table from > a resource: > > http://sourceforge.net/tracker/index.php?func=detail&aid=897297&group_id=24399&atid=381401 > but this was never integrated. I don't like my version using a secondary resource also. You know I need to use a TokenStream which makes it quite complex. (I use the DTD definitions provided by w3.org). But it should give a great unit-test case since in this resource is every entity reference and so converting this file and checking if all entity references are converted would be a necessary test, which is the desired test situation. I currently favour a version using something like sequences to shorten the needed amount of lines of code to set up all entities. But which implementation is finally choosen does not matter much to me anyways as long as the version is highly reliable and quite fast when it comes to actually conversion. > This could be broken out into a separate jar. Is that what you are > suggesting? Yes. I would like to have a special library for only encoding and decoding strings to HTML. Also I would like to add encode/decodeURL methods to avoid using URLEncoder and URLDecoder by also adding "UTF-8" as default encoding character set, since URLDecoder.decode(String) is deprecated. So something like: HtmlUtils.encode(String normalString) : htmlString HtmlUtils.decode(String htmlString) : normal string HtmlUtils.encodeUrl(String normalString) : URL (UTF-8) HtmlUtils.decodeUrl(String url) : String normalString Maybe renaming the HtmlUtils to HtmlCoder or something similar would also be appreciated. (or HtmlConverter) Is it possible to put this library under a special sourceforge project? Like HtmlCoder project or what ever? I guess there is some more functionality to add in order to support streams and readers to simplify its use. If we are doing right with this library there is a chance that even more projects will use this library instead of their on (possible limited) solutions. For the ownership of the project: I would suggest if you guys can handle it. You do well with the html-parser and I guess you have what it takes. Of cause I would like to contribute all my code and knowledge. Also I would like to do some testing which implementation of the decoding/encoding algorithms are finally used and review/develop a complete set of unit-tests (I don't know your test coverage so maybe your HtmlParser codebase already have anything what it takes). So you see this is actually a quite complex field :-) Cheers, Martin (Kersten) PS: I would also like to use named entity references when encoding a html-string (currently the Spring version does only use number formats, which arn't that handy if you need to read the encoded html). > > Derrick > > Martin Kersten wrote: > >> Dear Html-Parser developers, >> >> my name is Martin Kersten and I am looking for a library doing HTML >> related conversions. Originally I started to refactor the HtmlUtils >> class of the Spring framework. But thinking about it, it would be best >> if such a capability (decode/encode strings from / to Html) would be >> provided by a special and tiny library. Such a library would be a relief, >> I guess. Also I wouldn't like to invent the wheel, twice... . >> >> Also by my own refactoring affords, I ended with a special class >> encapuslating the named entity references and load it from file >> (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html files). >> I don't know if this efford is worth it but from an OOP stand point it >> looks nice :-). >> >> Anyways, I would be happy if such a highly focused library would >> be out there. >> So what do you think? Any chance that such a library can be created? >> >> >> Cheers, >> >> Martin (Kersten) >> >> PS: I am not a Spring developer, I am just a Spring user who cares... . >> :-) >> > > > > ------------------------------------------------------- > SF email is sponsored by - The IT Product Guide > Read honest & candid reviews on hundreds of IT Products from real users. > Discover which products truly live up to the hype. Start reading now. > http://ads.osdn.com/?ad_id=6595&alloc_id=14396&op=click > _______________________________________________ > Htmlparser-developer mailing list > Htm...@li... > https://lists.sourceforge.net/lists/listinfo/htmlparser-developer |
From: Derrick O. <Der...@Ro...> - 2005-04-05 22:26:17
|
Martin, HTML Parser has a similar class as well... org.htmlparser.util.Translate.java: http://cvs.sourceforge.net/viewcvs.py/htmlparser/htmlparser/src/org/htmlparser/util/Translate.java?view=markup This file was arrived at via a similar mechanism to your own. It's not stand-alone, relying on a sort utility, to avoid two copies of each reference in the class, and two reference classes, for a total of about 5 classes. There was a patch provided by *Karsten Pawlik* that loaded the table from a resource: http://sourceforge.net/tracker/index.php?func=detail&aid=897297&group_id=24399&atid=381401 but this was never integrated. This could be broken out into a separate jar. Is that what you are suggesting? Derrick Martin Kersten wrote: > Dear Html-Parser developers, > > my name is Martin Kersten and I am looking for a library doing HTML > related conversions. Originally I started to refactor the HtmlUtils > class of the Spring framework. But thinking about it, it would be best > if such a capability (decode/encode strings from / to Html) would be > provided by a special and tiny library. Such a library would be a > relief, I guess. Also I wouldn't like to invent the wheel, twice... . > > Also by my own refactoring affords, I ended with a special class > encapuslating the named entity references and load it from file > (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html files). > I don't know if this efford is worth it but from an OOP stand point it > looks nice :-). > > Anyways, I would be happy if such a highly focused library would > be out there. > So what do you think? Any chance that such a library can be created? > > > Cheers, > > Martin (Kersten) > > PS: I am not a Spring developer, I am just a Spring user who cares... > . :-) > |
From: Martin K. <Mar...@St...> - 2005-04-05 17:18:36
|
Dear Html-Parser developers, my name is Martin Kersten and I am looking for a library doing HTML related conversions. Originally I started to refactor the HtmlUtils class of the Spring framework. But thinking about it, it would be best if such a capability (decode/encode strings from / to Html) would be provided by a special and tiny library. Such a library would be a relief, I guess. Also I wouldn't like to invent the wheel, twice... . Also by my own refactoring affords, I ended with a special class encapuslating the named entity references and load it from file (I used the http://www.w3.org/TR/REC-html40/sgml/entities.html files). I don't know if this efford is worth it but from an OOP stand point it looks nice :-). Anyways, I would be happy if such a highly focused library would be out there. So what do you think? Any chance that such a library can be created? Cheers, Martin (Kersten) PS: I am not a Spring developer, I am just a Spring user who cares... . :-) |
From: mike l. <s9...@ya...> - 2005-02-04 07:58:41
|
regards: How to implement the following pseudo codes by HTMLParser 1.5? @@. (1)if content of some tag's attribute contains some string like "JavaScript". (2)remove the tag and it's content. Any suggestion is welcome. thank you May goodness be with you all --------------------------------- Do You Yahoo!? 150万曲MP3疯狂搜,带您闯入音乐殿堂 美女明星应有尽有,搜遍美图、艳图和酷图 1G就是1000兆,雅虎电邮自助扩容! |
From: Amol D. <Amo...@cc...> - 2004-08-19 16:23:15
|
Hi, IMO, the fields: private StringBuffer textAccumulator; private boolean preTagBeingProcessed; in file org.htmlparser.visitors.TextExtractingVisitor should be made protected or a protected accessors should be made available for these fields. That would make it easier to extend from TextExtractingVisitor. Currently extending from TextExtractingVisitor forces you to reimplement all the methods and redefine the private fields since the subclass methods cannot get the reference to the fields. On a related note, I have writen a simple adaptation of the TextExtractingVisitor for extracting strings from string nodes that match a particular regular expression. If deemed useful, it may be included in future distros. The file "RegexMatchingVisitor.java" is attached. Regards, ~ amol |
From: Derrick O. <Der...@Ro...> - 2004-07-31 01:57:54
|
Somik, My guess is, he was referring to: Tutorials : Unweaving a Tangled Web With HTMLParser and Lucene : Unweaving a Tangled Web With HTMLParser and Lucene by Keld H. Hansen (http://javaboutique.internet.com/tutorials/HTMLParser/). Interesting quote: "So in our situation the HTMLParser is a natural choice. It's not the only open source HTML parser available, but it's the best that I've found." Derrick Derrick Oswald wrote: > Somik was asking which article you saw htmlparser mentioned in. > > tubinee wrote: > >> thanks you very much. >> >> I am very glad to join us. and I am ready for come into this project. >> >> >> > > |
From: Derrick O. <Der...@Ro...> - 2004-07-31 01:29:33
|
I'm off for three weeks holiday soon, so I've released the 1.42 patch and 1.5-20040728 integration build. Please monitor the help forum (http://sourceforge.net/forum/?group_id=24399) and mailing lists while I'm gone, since I'll probably be connecting only sporadicly. If some administrative issue comes up, please contact Somik. If you're looking for something exciting to do, have a look at: Request for Enhancements: http://sourceforge.net/tracker/?group_id=24399&atid=381402 Tasks: http://sourceforge.net/pm/?group_id=24399 Bugs: http://sourceforge.net/tracker/?group_id=24399&atid=381399 Be seeing you, Derrick |
From: Derrick O. <Der...@Ro...> - 2004-07-29 12:06:28
|
Somik was asking which article you saw htmlparser mentioned in. tubinee wrote: >thanks you very much. > >I am very glad to join us. and I am ready for come into this project. > > > |
From: Somik R. <som...@gm...> - 2004-07-28 02:01:05
|
On Tue, 27 Jul 2004 18:29:57 -0400, Derrick Oswald <der...@ro...> wrote: > He saw the htmlparser project mentioned in an article and became > interested in it, and located it on sourceforge. Just curious, which article? Cheers, Somik |
From: Derrick O. <Der...@Ro...> - 2004-07-27 22:30:13
|
David has engaged in java developing for five years. and is familiar with j2se, j2ee, soap, design pattern, uml, Oracle, db2, SQLServer and Mysql. He saw the htmlparser project mentioned in an article and became interested in it, and located it on sourceforge. Welcome David. |
From: Derrick O. <Der...@Ro...> - 2004-07-13 23:13:54
|
Manuel is a Java fan since 1995, who started professionally in the dot-com era (1996) with a 2 year Java project for eCommerce. He's used many languages including: c/c++, pascal, asm and basic. He knows all web technologies both content (xml, html..) and coding (php, js, jsp, servlets, jdbc...). Currently, he's developing a couple of libraries (http://www.jtgl.org -> mobile/gfx http://mrmx.org/mparser -> tiny java xml parser). His homepage is at http://mrmx.org. Welcome Manuel |
From: Enrico T. <enr...@te...> - 2004-06-21 18:58:06
|
Hi all, recently I was working on a project in which I had to extract swf movies from <object> tags. So I decided to write this new tag class, ObjectTag (which is simply a modified version of AppletTag)... Hope it'll be useful to someone Cheers, Enrico package org.htmlparser.tags; import java.util.Enumeration; import java.util.Hashtable; import java.util.Vector; import org.htmlparser.Node; import org.htmlparser.StringNode; import org.htmlparser.lexer.nodes.Attribute; import org.htmlparser.util.NodeList; import org.htmlparser.util.SimpleNodeIterator; /** * ObjectTag represents an <Object> tag. * It extends a basic tag by providing accessors to the * type, codetype, codebase, classid, data, height, width, standby attributes and parameters. */ public class ObjectTag extends CompositeTag { /** * The set of names handled by this tag. */ private static final String[] mIds = new String[] {"OBJECT"}; /** * The set of end tag names that indicate the end of this tag. */ private static final String[] mEndTagEnders = new String[] {"BODY", "HTML"}; /** * Create a new object tag. */ public ObjectTag () { } /** * Return the set of names handled by this tag. * @return The names to be matched that create tags of this type. */ public String[] getIds () { return (mIds); } /** * Return the set of end tag names that cause this tag to finish. * @return The names of following end tags that stop further scanning. */ public String[] getEndTagEnders () { return (mEndTagEnders); } /** * Extract the object <code>PARAM</code> tags from the child list. * @return The list of object parameters (keys and values are String objects). */ public Hashtable createObjectParamsTable () { NodeList kids; Node node; Tag tag; String paramName; String paramValue; Hashtable ret; ret = new Hashtable (); kids = getChildren (); if (null != kids) for (int i = 0; i < kids.size (); i++) { node = children.elementAt(i); if (node instanceof Tag) { tag = (Tag)node; if (tag.getTagName().equals ("PARAM")) { paramName = tag.getAttribute ("NAME"); if (null != paramName && 0 != paramName.length ()) { paramValue = tag.getAttribute ("VALUE"); ret.put (paramName.toUpperCase(),paramValue); } } } } return (ret); } /** * Get the classid of the object. * @return The value of the <code>CLASSID</code> attribute. */ public String getObjectClassId() { return getAttribute("CLASSID"); } /** * Get the codebase of the object. * @return The value of the <code>CODEBASE</code> attribute. */ public String getObjectCodeBase() { return getAttribute("CODEBASE"); } /** * Get the codetype of the object. * @return The value of the <code>CODETYPE</code> attribute. */ public String getObjectCodeType() { return getAttribute("CODETYPE"); } /** * Get the data of the object. * @return The value of the <code>DATA</code> attribute. */ public String getObjectData() { return getAttribute("DATA"); } /** * Get the height of the object. * @return The value of the <code>HEIGHT</code> attribute. */ public String getObjectHeight() { return getAttribute("HEIGHT"); } /** * Get the standby of the object. * @return The value of the <code>STANDBY</code> attribute. */ public String getObjectStandby() { return getAttribute("STANDBY"); } /** * Get the type of the object. * @return The value of the <code>TYPE</code> attribute. */ public String getObjectType() { return getAttribute("TYPE"); } /** * Get the width of the object. * @return The value of the <code>WIDTH</code> attribute. */ public String getObjectWidth() { return getAttribute("WIDTH"); } /** * Get the object parameters. * @return The list of parameter values (keys and values are String objects). */ public Hashtable getObjectParams() { return createObjectParamsTable(); } /** * Get the <code>PARAM<code> tag with the given name. * @param key The object parameter name to get. * @return The value of the parameter or <code>null</code> if there is no parameter of that name. */ public String getParameter(String key) { return ((String)(getObjectParams().get(key.toUpperCase()))); } /** * Get an enumeration over the (String) parameter names. * @return An enumeration of the <code>PARAM<code> tag <code>NAME<code> attributes. */ public Enumeration getParameterNames() { return getObjectParams().keys(); } /** * Set the <code>CLASSID<code> attribute. * @param newClassId The new classid. */ public void setObjectClassId(String newClassId) { setAttribute ("CLASSID", newClassId); } /** * Set the <code>CODEBASE<code> attribute. * @param newCodeBase The new codebase. */ public void setObjectCodeBase(String newCodeBase) { setAttribute ("CODEBASE", newCodeBase); } /** * Set the <code>CODETYPE<code> attribute. * @param newCodeType The new codetype. */ public void setObjectCodeType(String newCodeType) { setAttribute ("CODETYPE", newCodeType); } /** * Set the <code>DATA<code> attribute. * @param newData The new data. */ public void setObjectData(String newData) { setAttribute ("DATA", newData); } /** * Set the <code>HEIGHT<code> attribute. * @param newHeight The new height. */ public void setObjectHeight(String newHeight) { setAttribute ("HEIGHT", newHeight); } /** * Set the <code>STANDBY<code> attribute. * @param newStandby The new standby. */ public void setObjectStandby(String newStandby) { setAttribute ("STANDBY", newStandby); } /** * Set the <code>TYPE<code> attribute. * @param newType The new type. */ public void setObjectType(String newType) { setAttribute ("TYPE", newType); } /** * Set the <code>WIDTH<code> attribute. * @param newWidth The new width. */ public void setObjectWidth(String newWidth) { setAttribute ("WIDTH", newWidth); } /** * Set the enclosed <code>PARAM<code> children. * @param newObjectParams The new parameters. */ public void setObjectParams (Hashtable newObjectParams) { NodeList kids; Node node; Tag tag; String paramName; String paramValue; Vector attributes; StringNode string; kids = getChildren (); if (null == kids) kids = new NodeList (); else // erase objectParams from kids for (int i = 0; i < kids.size (); ) { node = kids.elementAt (i); if (node instanceof Tag) if (((Tag)node).getTagName ().equals ("PARAM")) { kids.remove (i); // remove whitespace too if (i < kids.size ()) { node = kids.elementAt (i); if (node instanceof StringNode) { string = (StringNode)node; if (0 == string.getText ().trim ().length ()) kids.remove (i); } } } else i++; else i++; } // add newObjectParams to kids for (Enumeration e = newObjectParams.keys (); e.hasMoreElements (); ) { attributes = new Vector (); // should the tag copy the attributes? paramName = (String)e.nextElement (); paramValue = (String)newObjectParams.get (paramName); attributes.addElement (new Attribute ("PARAM", null)); attributes.addElement (new Attribute (" ")); attributes.addElement (new Attribute ("VALUE", paramValue, '"')); attributes.addElement (new Attribute (" ")); attributes.addElement (new Attribute ("NAME", paramName.toUpperCase(), '"')); tag = new Tag (null, 0, 0, attributes); kids.add (tag); } //set kids as new children setChildren (kids); } /** * Output a string representing this object tag. * @return A string showing the contents of the object tag. */ public String toString () { Hashtable parameters; Enumeration params; String paramName; String paramValue; boolean found; Node node; StringBuffer ret; ret = new StringBuffer(500); ret.append ("Object Tag\n"); ret.append ("**********\n"); ret.append ("ClassId = "); ret.append (getObjectClassId()); ret.append ("\n"); ret.append ("CodeBase = "); ret.append (getObjectCodeBase()); ret.append ("\n"); ret.append ("CodeType = "); ret.append (getObjectCodeType()); ret.append ("\n"); ret.append ("Data = "); ret.append (getObjectData()); ret.append ("\n"); ret.append ("Height = "); ret.append (getObjectHeight()); ret.append ("\n"); ret.append ("Standby = "); ret.append (getObjectStandby()); ret.append ("\n"); ret.append ("Type = "); ret.append (getObjectType()); ret.append ("\n"); ret.append ("Width = "); ret.append (getObjectWidth()); ret.append ("\n"); parameters = getObjectParams (); params = parameters.keys (); if (null == params) ret.append ("No Params found.\n"); else for (int cnt = 0; params.hasMoreElements (); cnt++) { paramName = (String)params.nextElement (); paramValue = (String)parameters.get (paramName); ret.append (cnt); ret.append (": Parameter name = "); ret.append (paramName); ret.append (", Parameter value = "); ret.append (paramValue); ret.append ("\n"); } found = false; for (SimpleNodeIterator e = children (); e.hasMoreNodes ();) { node = e.nextNode (); if (node instanceof Tag) if (((Tag)node).getTagName ().equals ("PARAM")) continue; if (!found) ret.append ("Miscellaneous items :\n"); else ret.append (" "); found = true; ret.append (node.toString ()); } if (found) ret.append ("\n"); ret.append ("End of Object Tag\n"); ret.append ("*****************\n"); return (ret.toString ()); } } |
From: Derrick O. <Der...@Ro...> - 2004-06-13 02:29:59
|
Oh, there are two Wiki capturers: the original one: ./WikiCapturer/src/org/htmlparser/wikicapturer/CaptureWiki.java ./WikiCapturer/src/org/htmlparser/wikicapturer/PhpWikiVisitor.java and a new one: ./htmlparser/src/org/htmlparser/parserapplications/WikiCapturer.java You must be referring to the test: ./WikiCapturer/src/org/htmlparser/wikicapturerTest/PhpWikiVisitorTest.java which I don't think I've ever run. It's not part of the htmlparser test suite. Yeah, it must be broken because of the refactoring that went on with visitors and nodes. Derrick Somik Raha wrote: > Derrick Oswald wrote: > >> Somik, >> >> As mentioned in the last 1.5 integration notes: >> >> Integration Build May 22, 2004 >> >> Failing Unit Tests: >> testBigFile, testTable >> >> Open Bugs: >> 923146 tag nesting rule too strict for forms >> 922439 OutOfMemory on huge HTML files (4,7MB) >> >> >> The (new) failing tests correspond to the open bugs. >> I have some small unrelated changes in my shadow that I will probably >> get done this weekend. >> > I was referring to the tests in the capturer. Are they also related to > the bug? > > Regards, > Somik > |
From: Somik R. <so...@ya...> - 2004-06-13 01:51:51
|
Derrick Oswald wrote: > Somik, > > As mentioned in the last 1.5 integration notes: > > Integration Build May 22, 2004 > > Failing Unit Tests: > testBigFile, testTable > > Open Bugs: > 923146 tag nesting rule too strict for forms > 922439 OutOfMemory on huge HTML files (4,7MB) > > > The (new) failing tests correspond to the open bugs. > I have some small unrelated changes in my shadow that I will probably > get done this weekend. > I was referring to the tests in the capturer. Are they also related to the bug? Regards, Somik |
From: Derrick O. <Der...@Ro...> - 2004-06-12 11:09:26
|
Somik, As mentioned in the last 1.5 integration notes: Integration Build May 22, 2004 Failing Unit Tests: testBigFile, testTable Open Bugs: 923146 tag nesting rule too strict for forms 922439 OutOfMemory on huge HTML files (4,7MB) The (new) failing tests correspond to the open bugs. I have some small unrelated changes in my shadow that I will probably get done this weekend. Derrick Somik Raha wrote: >I was looking at WikiCapturer, and found that the unit >tests don't work anymore. Is the copy on CVS the >latest? > >Regards, >Somik > > > > |
From: Somik R. <so...@ya...> - 2004-06-10 21:05:15
|
I was looking at WikiCapturer, and found that the unit tests don't work anymore. Is the copy on CVS the latest? Regards, Somik __________________________________ Do you Yahoo!? Friends. Fun. Try the all-new Yahoo! Messenger. http://messenger.yahoo.com/ |
From: Derrick O. <Der...@Ro...> - 2004-06-01 01:52:41
|
The htmlparser project has a new logo to go along with the new domain name, thanks to Jon Gillette. Check it out... http://htmlparser.org |
From: Derrick O. <Der...@Ro...> - 2004-06-01 01:43:40
|
That is so way cool! It's guys like you what bring tears to my eyes. As Somik says "Open source rocks." I've updated your email address. Send me your picture, new employer info, nationality and a writeup (on your country if nothing else comes to mind) and I'll add that too. btw That goes for any other developer or past contributor too. Derrick Rodney S. Foley wrote: >Derrick, > > > >I noticed that you use "org.htmlparser" as your package name > >and wanted to protect it on the internet from being used for > >anything other than your project. > > > >I felt like doing something for the project so I purchased the > >htmlparser.org domain, and I will continue to own, administer, > >and renew it for the project. I am currently just forwarding > >all traffic to the SourceForge project page > >(http://htmlparser.sourceforge.net/) and if you ever get your > >own host and move your project page from SF, just give me > >the Nameservers and I will set them up for you on the > >domain. > > >I hope you don't mind that I have done this for the project. I > >have not really been involved for a long time, especially since > >I left Hard Dollar where we where using the parser in its early > >days. I still think it is a great project and wanted to support > >it in someway. I am always waiting for a project that I can > >use it, and I may have one coming up at my new employer > >soon. > > > >I was surprised by the mention on your contribution page and > >I appreciated it. I thought I would let you know that that e- > >mail address is invalid since I don't work at that company any > >more. If you don't mind just using my SourceForge send > >message page like you do it would be great. I am user > >#231872 to use in a link like this: > > > >http://sourceforge.net/sendmessage.php?touser=231872 > > > >Good luck and good futures... > > > > >-Rodney > > > |
From: Alberto N. <alb...@ti...> - 2004-04-21 17:08:14
|
All the following suggestions are already done by me. I'd like to read your comments and maybe also improvement's ideas. Waiting for your advises, I continue test activity. I hope that all these improvements could make quick the process of changing the strings after the parser have processed the url stream. ---------------------------------------------------------------------------- --------- package org.htmlparser.util; Class NodeList I suggest to add two methods more: 1- public void keepLeaves () filter all nodes but leaves nodes. For example keepLeaves() applied to "<DIV>In The Middle<DIV>Hello World!</DIV></DIV>" gives as result the removal of top node (containing "In The Middle<DIV>Hello World!</DIV>") and the only element in the list will be the leaf node (containing "Hello World!"). 2- public void keepTopLevel () filter all nodes but nodes of the top level. For example keepTopLevel() applied to "<DIV>In The Middle<DIV>Hello World!</DIV></DIV>" gives as result the removal of leaf node (containing "Hello World!") and the only element in the list will be the top node (containing "In The Middle<DIV>Hello World!</DIV>"). ---------------------------------------------------------------------------- --------- package org.htmlparser.util; Class ParserUtils I suggest to add methods doing trim and split operations giving a string input variable as parameter. The trim and split operations have various methods that consider as trimming and splitting delimiters: spaces and tabs, digits, tags, simple characters. The use of this function could proficencly refine the text inside or outside tags. ---------------------------------------------------------------------------- --------- Another interesting improvement is to add the following method: public static Parser createParserParsingAnInputString (String input) throws ParserException, UnsupportedEncodingException This method will create a Parser Object from an input string. The input string is NOT the href of file or url in input but it is the stream itself. For example a significative input string could be: "<DIV>Hello World!</DIV>". This method could be added in Parser class or in both classes Parser and ParserUtils classes. Hope you like, Alberto Nacher User ID: 892989 Login Name (User Name): anul |
From: Derrick O. <Der...@Ro...> - 2004-04-20 02:38:51
|
Alberto is the latest developer to join the htmlparser project. His web page is http://members.xoom.virgilio.it/nacher/Home.html Welcome Alberto. |
From: Derrick O. <Der...@Ro...> - 2004-03-17 23:03:42
|
Hey, we made the front page of sourceforge again ... http://sourceforge.net/ ... regarding the latest production release: *HTML Parser Production Release 1.4 available * <http://sourceforge.net/forum/forum.php?forum_id=359616> /derrickoswald - 2004-03-16 07:49/ - HTML Parser <http://sourceforge.net/projects/htmlparser/> Version 1.4 of the most popular HTML parser on sourceforge is now available. Ten months of development have culminated in a very robust, extensible product that has been tested, and is already being used, by thousands of developers. HTML Parser is a library, written in Java, which allows you to parse HTML (HTML 4.0 supported). It has been used by people on live projects. Developers appreciate how easy it is to use. The architecture is flexible, allowing you to extend it easily. [Read More/Comment] <http://sourceforge.net/forum/forum.php?forum_id=359616> |