phew,

that is odd. Did google have some hints? Or ever asked at the digester group?
(maybe that is not so active?)

-Matthias

On Thu, Jan 7, 2010 at 6:37 PM, Andrew Robinson
<andrew.rw.robin...@gmail.com> wrote:
> Okay, if I compile with Java6 but run the tests with Java5 it works,
> the xpointer is processed fine. Perhaps there is a problem with the
> Java 6 on linux?
> java version "1.6.0_15"
> Java(TM) SE Runtime Environment (build 1.6.0_15-b03)
> Java HotSpot(TM) 64-Bit Server VM (build 14.1-b02, mixed mode)
>
> Or is anyone aware of changes to the XML parsing in Java6 that require
> different code for xinclude parsing?
>
> -Andrew
>
> On Wed, Jan 6, 2010 at 6:10 PM, Andrew Robinson
> <andrew.rw.robin...@gmail.com> wrote:
>> Giving up for the night, but I found that this works:
>>    <xi:include href="TestInclude.xml" />
>>
>> But not this:
>>    <xi:include href="./TestInclude.xml" 
>> xpointer="/faces-config/component/*"/>
>>
>> If the xpointer attribute has any value at all it seems to fail.
>>
>> On Wed, Jan 6, 2010 at 5:33 PM, Andrew Robinson
>> <andrew.rw.robin...@gmail.com> wrote:
>>> Update:
>>>
>>> I changed the code to this:
>>>  public void merge(
>>>    FacesConfigBean owner,
>>>    URL             url) throws MojoExecutionException
>>>  {
>>>    try
>>>    {
>>>      URLConnection conn = url.openConnection();
>>>      long lastModified = conn.getLastModified();
>>>
>>>      // Establish the current last-modified value
>>>      // As new components are added, they will remember
>>>      // this current value as their own last-modified
>>>      owner.touch(lastModified);
>>>
>>>      Digester digester = createDigester();
>>>      digester.push(url);
>>>      digester.push(owner);
>>>      digester.parse(url.toExternalForm());
>>>    }
>>>
>>> Now the path is correct:
>>> resolveEntity('null',
>>> 'file:/home/anrobins/development/maven-trinidad/branches/2.0.0-branch/maven-faces-plugin/target/test-classes/META-INF/maven-faces-plugin/components/trinidad/faces/TestInclude.xml')
>>>
>>> testGenerate(org.apache.myfaces.trinidadbuild.plugin.faces.GenerateComponentsMojoTest)
>>>  Time elapsed: 0.359 sec  <<< ERROR!
>>> org.apache.maven.plugin.MojoExecutionException: Failed to parse
>>> file:/home/anrobins/development/maven-trinidad/branches/2.0.0-branch/maven-faces-plugin/target/test-classes/META-INF/maven-faces-plugin/components/trinidad/faces/Command.xml
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.parse.FacesConfigParser.merge(FacesConfigParser.java:68)
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.AbstractFacesMojo.processIndexEntry(AbstractFacesMojo.java:297)
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.AbstractFacesMojo.processIndex(AbstractFacesMojo.java:287)
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.GenerateComponentsMojo.execute(GenerateComponentsMojo.java:59)
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.GenerateComponentsMojoTest.testGenerate(GenerateComponentsMojoTest.java:89)
>>> Caused by: org.xml.sax.SAXParseException: An 'include' failed, and no
>>> 'fallback' element was found.
>>>        at 
>>> com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1231)
>>>        at 
>>> com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:522)
>>>        at org.apache.commons.digester.Digester.parse(Digester.java:1836)
>>>        at 
>>> org.apache.myfaces.trinidadbuild.plugin.faces.parse.FacesConfigParser.merge(FacesConfigParser.java:60)
>>>        ... 30 more
>>>
>>> But the include still fails with no helpful information. Still would
>>> not mind any help.
>>>
>>> Thanks,
>>> Andrew
>>>
>>> On Wed, Jan 6, 2010 at 4:51 PM, Andrew Robinson
>>> <andrew.rw.robin...@gmail.com> wrote:
>>>> Forgot to mention that it is looking for:
>>>> /home/anrobins/development/maven-trinidad/branches/2.0.0-branch/maven-faces-plugin/TestInclude.xml
>>>> but the correct path is:
>>>> /home/anrobins/development/maven-trinidad/branches/2.0.0-branch/maven-faces-plugin/src/test/resources/META-INF/maven-faces-plugin/components/trinidad/faces/TestInclude.xml
>>>>
>>>> So I need to figure out how to set the base URL for the relative URL 
>>>> handling.
>>>>
>>>> -Andrew
>>>>
>>>>
>>>> On Wed, Jan 6, 2010 at 4:21 PM, Andrew Robinson
>>>> <andrew.rw.robin...@gmail.com> wrote:
>>>>> Hey all, I could really use some help. I have been unable so far to
>>>>> get the maven-faces-plugin to resolve xml includes in the 2.0.1
>>>>> version of the plugins. I removed xerces and the other XML
>>>>> dependencies from the POM so that it would use the Java built-in XML.
>>>>> Then I made it XInclude aware:
>>>>>
>>>>>  static protected Digester createEmptyDigester()
>>>>>    throws ParserConfigurationException, SAXException
>>>>>  {
>>>>>    SAXParserFactory spf = SAXParserFactory.newInstance();
>>>>>    spf.setNamespaceAware(true);
>>>>>    // requires JAXP 1.3, in JavaSE 5.0
>>>>>    spf.setXIncludeAware(true);
>>>>>
>>>>>
>>>>> Here is the logging output:
>>>>>
>>>>> resolveEntity('null',
>>>>> 'file:///home/anrobins/development/maven-trinidad/branches/2.0.0-branch/maven-faces-plugin/TestInclude.xml')
>>>>> Jan 6, 2010 4:10:54 PM org.apache.commons.digester.Digester fatalError
>>>>> SEVERE: Parse Fatal Error at line 37 column 90: An 'include' failed,
>>>>> and no 'fallback' element was found.
>>>>> org.xml.sax.SAXParseException: An 'include' failed, and no 'fallback'
>>>>> element was found.
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:388)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.reportError(XIncludeHandler.java:2320)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.reportFatalError(XIncludeHandler.java:2315)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.reportFatalError(XIncludeHandler.java:2311)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.endElement(XIncludeHandler.java:1001)
>>>>>
>>>>>
>>>>> I tried to turn on validation
>>>>>    spt.setValidating(true);
>>>>>    spf.setFeature("http://apache.org/xml/features/validation/schema";, 
>>>>> true);
>>>>>
>>>>> But then I ran into this:
>>>>> SEVERE: Parse Error at line 26 column 73: cvc-elt.1: Cannot find the
>>>>> declaration of element 'faces-config'.
>>>>> org.xml.sax.SAXParseException: cvc-elt.1: Cannot find the declaration
>>>>> of element 'faces-config'.
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:131)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:384)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:318)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.handleStartElement(XMLSchemaValidator.java:1887)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.xs.XMLSchemaValidator.startElement(XMLSchemaValidator.java:685)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.startElement(XIncludeHandler.java:908)
>>>>>        at 
>>>>> com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:400)
>>>>>
>>>>>
>>>>> In my project I have some of the fmd:* attributes being pulled in
>>>>> through xi:include elements. Not using include would be a very hard
>>>>> thing as we have many includes. Anyone know what I can do to get the
>>>>> includes parsing correctly with the digester?
>>>>>
>>>>> Thank you!
>>>>> -Andrew
>>>>>
>>>>
>>>
>>
>



-- 
Matthias Wessendorf

blog: http://matthiaswessendorf.wordpress.com/
sessions: http://www.slideshare.net/mwessendorf
twitter: http://twitter.com/mwessendorf

Reply via email to