3
<xi:include>
태그가있는 xml 문서를 비선형하려고합니다. 그러나 SAXParser는 SAXParserFactory에이를 허용하도록 구체적으로 말하더라도 이것을 허용하지 않습니다.SAXParser에서 Xinclude를 허용하지 않습니다.
자바 코드 :
SAXParserFactory spf = SAXParserFactory.newInstance();
spf.setXIncludeaware(true);
spf.setNamespaceAwere(true);
spf.setFeature("http://apache.org/xml/features/xinclude", true);
spf.setFeature("http://apache.org/xml/features/xinclude/fixup-base-uris", true);
XMLReader xr = spf.newSAXParser().getXMLReader();
SAXSource source = new SAXSource(xr, new InputSource(inputStream));
JAXBElement<MyClass> el = unmarshaller.unmarshal(source, MyClass.class);
XML 문서 내가 그것을 실행하면 나는이 예외가
<?xml version="1.0" encoding="UTF-8"?>
<extension xmlns="http://www.example.com/test" xmlns:ext="http://www.example.com/test" xmlns:xi="http://www.w3.org/2003/XInclude">
<visibility>
<resourceConstraints>
<resourceConstraint ext:resourceId="resourceOne">
<role ext:show="true">AdminUsers</role>
</resourceConstraint>
<resourceConstraint ext:resourceId="resourceTwo">
<role ext:show="true">AdminUsers</role>
</resourceConstraint>
</resourceConstraints>
<xi:include href="extraContent.xml" />
</visibility>
</extension>
을 읽을 : 나는에서 <xi:include>
태그를 제거
org.xml.sax.SAXParseException; lineNumber: 12; columnNumber: 50; cvc-complex-type.2.4.a: Invalid content was found starting with element 'xi:include'. One of '{"http://www.example.com/test":resourceConstraints}' is expected.
XML 문서, 파일이 잘 비동기입니다. unmarshaller에는 스키마가 첨부되어 있습니다. 스키마는 <xi:include>
을 허용하지 않습니다.