uxing xinclude
Sanjay Verma <[email protected]> Tue, 21 Jan 2020 14:41:23 +0000
| Newsgroups | gmane.text.xml.xerces-j.user |
|---|---|
| Message-ID | <BL0PR18MB210008693B92596EA2B9263D890D0@BL0PR18MB2100.namprd18.prod.outlook.com> |
--_000_BL0PR18MB210008693B92596EA2B9263D890D0BL0PR18MB2100namp_
Content-Type: text/plain; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
I am trying to break a large XML file into several smaller ones using xincl=
ude. Th original file is part of a .jar. How can I make the snippets pointe=
d to by xinclude also be part of the .jar. My file looks like this:
main.xml:
<?xml version=3D"1.0"?>
<all>
<extension xmlns:xi=3D"http://www.w3.org/2001/XInclude" >
<xi:include href=3D"a.xml" />
</extension>
<all>
My (Java) program finds the main.xml in the .jar but when parsing and looki=
ng for a.xml which is also in the .jar it throws the following exception:
Found jar entry. URL =3D jar:file:.../test.jar!/main.xml
JAXP: find factoryId =3Djavax.xml.parsers.SAXParserFactory
JAXP: loaded from fallback value: com.sun.org.apache.xerces.internal.jaxp.S=
AXParserFactoryImpl
JAXP: created new instance of class com.sun.org.apache.xerces.internal.jaxp=
.SAXParserFactoryImpl using ClassLoader: null
org.xml.sax.SAXParseException; lineNumber: 5; columnNumber: 56; An include =
with href 'a.xml'failed, and no fallback element was found.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.crea=
teSAXParseException(ErrorHandlerWrapper.java:203)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fata=
lError(ErrorHandlerWrapper.java:177)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportE=
rror(XMLErrorReporter.java:400)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportE=
rror(XMLErrorReporter.java:327)
at com.sun.org.apache.xerces.internal.impl.XMLErrorReporter.reportE=
rror(XMLErrorReporter.java:284)
at com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.repo=
rtError(XIncludeHandler.java:2395)
at com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.repo=
rtFatalError(XIncludeHandler.java:2390)
at com.sun.org.apache.xerces.internal.xinclude.XIncludeHandler.empt=
yElement(XIncludeHandler.java:985)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl=
.scanStartElement(XMLNSDocumentScannerImpl.java:351)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScann=
erImpl$FragmentContentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.n=
ext(XMLDocumentScannerImpl.java:602)
at com.sun.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl=
.next(XMLNSDocumentScannerImpl.java:112)
at com.sun.org.apache.xerces.internal.impl.XMLDocumentFragmentScann=
erImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:505)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.pa=
rse(XML11Configuration.java:842)
at com.sun.org.apache.xerces.internal.parsers.XML11Configuration.pa=
rse(XML11Configuration.java:771)
at com.sun.org.apache.xerces.internal.parsers.XMLParser.parse(XMLPa=
rser.java:141)
at com.sun.org.apache.xerces.internal.parsers.AbstractSAXParser.par=
se(AbstractSAXParser.java:1213)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXPar=
ser.parse(SAXParserImpl.java:643)
at com.sun.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXP=
arserImpl.java:327)
at javax.xml.parsers.SAXParser.parse(SAXParser.java:195)
at com.flextrade.flexoms.syscfg.EntitySpecs.parse(EntitySpecs.java:=
598)
at com.flextrade.flexoms.syscfg.EntityMaintTP.main(EntityMaintTP.ja=
va:430)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessor=
Impl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethod=
AccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at com.jdotsoft.jarloader.JarClassLoader.invokeMain(JarClassLoader.=
java:796)
at com.flextrade.flexoms.syscfg.Launcher.main(Launcher.java:12)
--_000_BL0PR18MB210008693B92596EA2B9263D890D0BL0PR18MB2100namp_
Content-Type: text/html; charset="us-ascii"
Content-Transfer-Encoding: quoted-printable
<html xmlns:v=3D"urn:schemas-microsoft-com:vml" xmlns:o=3D"urn:schemas-micr=
osoft-com:office:office" xmlns:w=3D"urn:schemas-microsoft-com:office:word" =
xmlns:m=3D"http://schemas.microsoft.com/office/2004/12/omml" xmlns=3D"http:=
//www.w3.org/TR/REC-html40">
<head>
<meta http-equiv=3D"Content-Type" content=3D"text/html; charset=3Dus-ascii"=
>
<meta name=3D"Generator" content=3D"Microsoft Word 15 (filtered medium)">
<style><!--
/* Font Definitions */
@font-face
{font-family:"Cambria Math";
panose-1:2 4 5 3 5 4 6 3 2 4;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri",sans-serif;}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:#0563C1;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:#954F72;
text-decoration:underline;}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Calibri",sans-serif;
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri",sans-serif;}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext=3D"edit" spidmax=3D"1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext=3D"edit">
<o:idmap v:ext=3D"edit" data=3D"1" />
</o:shapelayout></xml><![endif]-->
</head>
<body lang=3D"EN-US" link=3D"#0563C1" vlink=3D"#954F72">
<div class=3D"WordSection1">
<p class=3D"MsoNormal">I am trying to break a large XML file into several s=
maller ones using xinclude. Th original file is part of a .jar. How can I m=
ake the snippets pointed to by xinclude also be part of the .jar. My file l=
ooks like this:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">main.xml:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal"><?xml version=3D"1.0"?><o:p></o:p></=
p>
<p class=3D"MsoNormal"><all><o:p></o:p></p>
<p class=3D"MsoNormal"> <extension xmlns:xi=3D"<a href=3D"htt=
p://www.w3.org/2001/XInclude">http://www.w3.org/2001/XInclude</a>" >=
;<o:p></o:p></p>
<p class=3D"MsoNormal"> <xi:include href=3D"a.xml=
" /><o:p></o:p></p>
<p class=3D"MsoNormal"> </extension><o:p></o:p></p>
<p class=3D"MsoNormal"><all><o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">My (Java) program finds the main.xml in the .jar but=
when parsing and looking for a.xml which is also in the .jar it throws the=
following exception:<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal">Found jar entry. URL =3D jar:file:…/test.jar!/=
main.xml<o:p></o:p></p>
<p class=3D"MsoNormal">JAXP: find factoryId =3Djavax.xml.parsers.SAXParserF=
actory<o:p></o:p></p>
<p class=3D"MsoNormal">JAXP: loaded from fallback value: com.sun.org.apache=
.xerces.internal.jaxp.SAXParserFactoryImpl<o:p></o:p></p>
<p class=3D"MsoNormal">JAXP: created new instance of class com.sun.org.apac=
he.xerces.internal.jaxp.SAXParserFactoryImpl using ClassLoader: null<o:p></=
o:p></p>
<p class=3D"MsoNormal">org.xml.sax.SAXParseException; lineNumber: 5; column=
Number: 56; An include with href 'a.xml'failed, and no fallback element was=
found.<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseExcepti=
on(ErrorHandlerWrapper.java:203)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandl=
erWrapper.java:177)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorRepo=
rter.java:400)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorRepo=
rter.java:327)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLErrorReporter.reportError(XMLErrorRepo=
rter.java:284)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.xinclude.XIncludeHandler.reportError(XIncludeH=
andler.java:2395)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.xinclude.XIncludeHandler.reportFatalError(XInc=
ludeHandler.java:2390)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.xinclude.XIncludeHandler.emptyElement(XInclude=
Handler.java:985)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.scanStartElement=
(XMLNSDocumentScannerImpl.java:351)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl$FragmentCo=
ntentDriver.next(XMLDocumentFragmentScannerImpl.java:2784)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLDocumentScannerImpl.next(XMLDocumentSc=
annerImpl.java:602)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLNSDocumentScannerImpl.next(XMLNSDocume=
ntScannerImpl.java:112)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.impl.XMLDocumentFragmentScannerImpl.scanDocume=
nt(XMLDocumentFragmentScannerImpl.java:505)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configur=
ation.java:842)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.parsers.XML11Configuration.parse(XML11Configur=
ation.java:771)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.parsers.XMLParser.parse(XMLParser.java:141)<o:=
p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.parsers.AbstractSAXParser.parse(AbstractSAXPar=
ser.java:1213)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXPars=
erImpl.java:643)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.su=
n.org.apache.xerces.internal.jaxp.SAXParserImpl.parse(SAXParserImpl.java:32=
7)<o:p></o:p></p>
<p class=3D"MsoNormal"> at javax.=
xml.parsers.SAXParser.parse(SAXParser.java:195)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.fl=
extrade.flexoms.syscfg.EntitySpecs.parse(EntitySpecs.java:598)<o:p></o:p></=
p>
<p class=3D"MsoNormal"> at com.fl=
extrade.flexoms.syscfg.EntityMaintTP.main(EntityMaintTP.java:430)<o:p></o:p=
></p>
<p class=3D"MsoNormal"> at sun.re=
flect.NativeMethodAccessorImpl.invoke0(Native Method)<o:p></o:p></p>
<p class=3D"MsoNormal"> at sun.re=
flect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)<o:p=
></o:p></p>
<p class=3D"MsoNormal"> at sun.re=
flect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java=
:43)<o:p></o:p></p>
<p class=3D"MsoNormal"> at java.l=
ang.reflect.Method.invoke(Method.java:498)<o:p></o:p></p>
<p class=3D"MsoNormal"> at com.jd=
otsoft.jarloader.JarClassLoader.invokeMain(JarClassLoader.java:796)<o:p></o=
:p></p>
<p class=3D"MsoNormal"> at com.fl=
extrade.flexoms.syscfg.Launcher.main(Launcher.java:12)<o:p></o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
<p class=3D"MsoNormal"><o:p> </o:p></p>
</div>
</body>
</html>
--_000_BL0PR18MB210008693B92596EA2B9263D890D0BL0PR18MB2100namp_--