[jdom-interest] JDom and Java5
Mattias Jiderhamn
mj-lists at expertsystems.se
Sat Feb 23 00:50:35 PST 2008
Now I got the updated JAR and it works fine.
Although it seems return type List<?> requires an explicit cast whereas
List just issues a warning when assigned to List<Element>. So if you
want to minimize the code changes needed you should probably switch to
just List.
/Mattias
Rolf Lear wrote (2008-02-22 16:44):
> Hi Mattias.
>
> I have checked and things appear to be in order. I have calcualted an
> MD5 sum on the jar:
>
> 2ce32b04f460bf457b3b2724ed5c71ba jdom.jar
>
> I wonder if there is a cached file in a proxy somewhere..... I should
> perhaps start versioning things..... I'll do that next time.
>
> Just in case, I have created a symbolic link, and this should avoid
> proxy's for the moment:
>
> http://git.tuis.net/jdom/jdom.b2.jar
>
> md5 sum:
>
> http://git.tuis.net/jdom/jdom.jar.md5sum
>
> I have taken your example code and built a simple main() method that
> tests it, and it works fine with the web-site's jar file in the
> classpath.
>
> Rolf
>
>
>
> Mattias Jiderhamn wrote:
>> Is the JAR at http://git.tuis.net/jdom/jdom.jar really updated...? I
>> get the same result for both cases.
>>
>> Regarding List<?> I believe that List = List<?> = List<? extends
>> java.lang.Object>.
>>
>> Hopefully you should be able to use this code as the basis for a test
>> case:
>>
>> TransformerFactory transformerFactory =
>> TransformerFactory.newInstance();
>> StreamSource streamSource = new StreamSource(new StringReader(
>> "<?xml version=\"1.0\" encoding=\"ISO-8859-1\"?>\n" +
>> "<xsl:stylesheet version=\"1.0\"
>> xmlns:xsl=\"http://www.w3.org/1999/XSL/Transform\">\n" +
>> " <xsl:template match=\"/\">\n" +
>> " <foo>" +
>> "<bar myAttribute=\"myValue\" />" +
>> "<ns:bar xmlns:ns=\"http://foo/bar\" myAttribute=\"myValue\"
>> ns:attribute2=\"prefixed\" />" +
>> "</foo>\n" +
>> " </xsl:template>\n" +
>> "</xsl:stylesheet>"));
>> Transformer transformer =
>> transformerFactory.newTransformer(streamSource);
>>
>> JDOMSource source = new JDOMSource(new org.jdom.Document(new
>> Element("foo")));
>> JDOMResult result = new JDOMResult();
>> transformer.transform(source, result);
>>
>>
>> /Mattias
>>
>>
>> Rolf Lear wrote (2008-02-22 15:28):
>>> Hi Mattias
>>>
>>> Thanks for the feedback.
>>>
>>> The XSLT issue is a bug I introduced with the port. Previously there
>>> was a single inner class of JDOMSource that could deal with either
>>> Document or Content Lists. With the port I created two inner
>>> classes, one for Documents only, and the second for List<Content>
>>> only. I introduced a bug in the process. Easy fix (just poor testing
>>> - I should introduce a test in jdom-test for the XSLT stuff - can
>>> you put together a simple test case of the bug?).
>>>
>>> The second issue is also cool. The XPath code is implemented by the
>>> jaxen library which is not (yet) generified. As a consequence, I
>>> hacked the calles to Jaxen to get List<Object>. By removing the
>>> hacks and providing List<?> as output it is actually simpler. I am
>>> not sure if you were anticipating just plain List as output instead
>>> of List<?>, is there a difference?
>>>
>>> I have updated the code repo, jar, apidocs, and website, etc.
>>>
>>> Thanks
>>>
>>> Rolf
>>>
>>> Mattias Jiderhamn wrote:
>>>> This is good news!
>>>> At least a first step towards an official Java5 JDOM version.
>>>>
>>>> I downloaded your JAR and put it in my dev environment. Here are a
>>>> few problems I ran into (which I haven't had time to analyze myself):
>>>>
>>>> When trying to do XSLT from a JDOMSource to a JDOMResult I got this
>>>> org.xml.sax.SAXNotSupportedException: Only JDOM Documents are
>>>> supported as input
>>>> at
>>>> org.jdom.transform.JDOMSource$DocumentReader.parse(JDOMSource.java:580)
>>>>
>>>> at
>>>> com.caucho.xsl.TransformerImpl.parseDocument(TransformerImpl.java:536)
>>>> at
>>>> com.caucho.xsl.TransformerImpl.transform(TransformerImpl.java:270)
>>>> at
>>>> se.exder.servlet.XslTransformer.transformToDocument(XslTransformer.java:159)
>>>>
>>>> ...
>>>>
>>>> XPath.selectNodes() now returns a List<Object> rather than an
>>>> "untyped" List. I would be preferrable if it would still return a
>>>> plain List which could be cast to a List<Element> if you know only
>>>> Elements will be returned.
>>>>
>>>> /Mattias Jiderhamn
>>>>
>>>>
>>>> Rolf Lear wrote (2008-02-21 16:28):
>>>>> Hi All.
>>>>>
>>>
>>>
>>
>
>
More information about the jdom-interest
mailing list