[ http://jira.codehaus.org/browse/MPXDOC-179?page=comments#action_67705 ]
Paul Libbrecht commented on MPXDOC-179: --------------------------------------- It surprises me to be considered closed. I could drill this down to the issue https://sourceforge.net/tracker/?func=detail&atid=116035&aid=681658&group_id=16035 of dom4j. a fix for which was made in 2003 and stipulates that when a java.io.File object is passed to SAXReader.read() an input-stream is passed... hence no relative resolution can be done. This affects jelly's x:parse tag as well. The current "escape" is that when you know you have a file (and it does not contain a "#" sign!) you call it's toURL() method. (in turn this is a bug in java's File.toURL() which should convert a # sign in the toURL method). paul > Can't use relative links for external entities > ---------------------------------------------- > > Key: MPXDOC-179 > URL: http://jira.codehaus.org/browse/MPXDOC-179 > Project: maven-xdoc-plugin > Type: Bug > Versions: 1.10, 1.9.1, 1.9.2, 1.9 > Environment: maven-1.1 beta 3 from SVN > Reporter: Arnaud Heritier > > > Actually we can't use a relative path in xdocs to declare external entities > For exemple in plugins\trunk\xdoc\xdocs\reference\xdocs.xml we reference > escapeXml.xml like this with an absolute path from where maven is generally > called (in the xdoc plugin root directory) > <!DOCTYPE document [ > <!ENTITY escapeXmlExample SYSTEM "file:xdocs/reference/escapeXml.xml"> > ]> > Thus if we use a multiproject the site fails. For example : > plugins\trunk>maven -Dgoal=site > -Dmaven.multiproject.includes=xdoc/project.xml multiproject:goal > gives : > LA CONSTRUCTION A ╚CHOU╚ > Fichier... > D:\Data\maven-1\cache\maven-multiproject-plugin-1.5-SNAPSHOT\plugin.jelly > ╚lement... maven:reactor > Ligne..... 226 > Colonne... -1 > Unable to obtain goal [site] -- > D:\Data\maven-1\cache\maven-xdoc-plugin-1.10-SNAPSHOT\plugin.jelly:490:-1: > <x:parse> xdocs\reference\escapeX > ml.xml (The system cannot find the path specified) Nested exception: > xdocs\reference\escapeXml.xml (The system cannot find the path specifie > d) > If I use a relative path : > <!DOCTYPE document [ > <!ENTITY escapeXmlExample SYSTEM "file:escapeXml.xml"> > ]> > With the same command as previously I receive a similar error : > Fichier... > D:\Data\maven-1\cache\maven-multiproject-plugin-1.5-SNAPSHOT\plugin.jelly > ╚lement... maven:reactor > Ligne..... 226 > Colonne... -1 > Unable to obtain goal [site] -- > D:\Data\maven-1\cache\maven-xdoc-plugin-1.10-SNAPSHOT\plugin.jelly:490:-1: > <x:parse> Error on line 3 of docu > ment : URI relative "file:escapeXml.xml"; ne peut Ûtre rÚsolue sans URI de > base. Nested exception: URI relative "file:escapeXml.xml"; ne pe > ut Ûtre rÚsolue sans URI de base. > It seems to be a problem with dom4j 1.4 -- This message is automatically generated by JIRA. - If you think it was sent incorrectly contact one of the administrators: http://jira.codehaus.org/secure/Administrators.jspa - For more information on JIRA, see: http://www.atlassian.com/software/jira