Hi Marius, On Aug 16, 2008, at 9:50 AM, Marius Dumitru Florea wrote:
Hi Vincent,
The ExtractHandler listens to SAX events in order to obtain a well- formed XML fragment with the following semantic:
xmlInput.dropAllTags().substring(start, length).unDropAssociatedTags()
So basically you would create an instance like:
new ExtractHandler(0, 400)
in order to obtain an XML fragment with its inner text length of at most 400 characters, starting at position/character 0 in the source/input XML's inner text. The ExtractHandler is currently used in http://tinyurl.com/6pcn6e to obtain a preview of an XML (HTML, to be more specific). Another use case I can think of is to paginate an XML source (keeping pages well-formed).
To give you an example, the result of applying an ExtractHandler(3, 13) to:
<p>click <a href="realyLongURL" title="Here">here</a> to view the result</p>
is:
<p>ck <a href="realyLongURL" title="Here">here</a> to</p>
I'll improve the javadoc on Monday.
ok got it thanks! Yeah it would be great if the description you just gave above would be located in the javadoc of ExtractHandler :) Now back to your original question I'm +1 to add it to the xml module. Thanks -Vincent PS: A pity there's no Commons Lang for XML with a XMLUtils class.
Hi Marius,
On Aug 4, 2008, at 10:10 AM, Marius Dumitru Florea wrote:
+1
You could also move there com.xpn.xwiki.util.ExtractHandler
Yes but before we do it could you tell me what it does. The javadoc says:
" * Extracts a well-formed XML fragment by listening to SAX events."
But I don't understand what this means. The code is pretty complex and I'm not sure what it does by looking at it quickly.
Thanks -Vincent
Hi,
I'd like to create a new core module called xwiki-xml which contains xwiki utility classes to help parse XML. The first need I have is to put inside an Entity resolver so that DTDs can be resolved locally.
The idea is to move the following files currently located in xwiki- core: * XWikiURIResolver * xhtml1-*.dtd (2 files) * xhtml-*.ent (3 files)
I need this in the new rendering XHTML macro to support entities.
In the future we could put there any generic code useful for handling XML (and for which we don't have any external framework to use of course).
Here's my +1
Thanks -Vincent