From 7ff59ae90b930096347695fb5ed51d87663749da Mon Sep 17 00:00:00 2001 From: tromey Date: Wed, 7 Feb 2007 18:22:26 +0000 Subject: [PATCH] 2007-02-07 Chris Burdess Fixes PR 30718. * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators. * gnu/xml/transform/XSLURIResolver.java: Add support for custom SAXSources without a backing URL or stream. Fixes PR 27710. * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous LSParser if implementation does not support asynchronous. * gnu/xml/stream/XMLParser.java, gnu/xml/stream/XIncludeFilter.java: Use custom code instead of java.net.URL to resolve to an an absolute URI, to avoid nonexistent protocol handler problems. git-svn-id: svn+ssh://gcc.gnu.org/svn/gcc/trunk@121694 138bc75d-0d04-0410-961f-82ee72b054a4 --- libjava/classpath/ChangeLog | 15 ++++++ .../gnu/xml/dom/DomDocumentBuilderFactory.java | 35 ++++++++++++- libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java | 7 ++- .../classpath/gnu/xml/stream/XIncludeFilter.java | 13 +---- libjava/classpath/gnu/xml/stream/XMLParser.java | 56 ++++++++++++++++++++- .../gnu/xml/transform/XSLURIResolver.java | 42 ++++++++++++---- .../gnu/xml/dom/DomDocumentBuilderFactory.class | Bin 3710 -> 4109 bytes .../lib/gnu/xml/dom/ls/SAXEventSink.class | Bin 12805 -> 12922 bytes .../lib/gnu/xml/stream/XIncludeFilter.class | Bin 17712 -> 17452 bytes .../gnu/xml/stream/XMLParser$AnyContentModel.class | Bin 594 -> 594 bytes .../lib/gnu/xml/stream/XMLParser$Attribute.class | Bin 1789 -> 1789 bytes .../gnu/xml/stream/XMLParser$AttributeDecl.class | Bin 897 -> 897 bytes .../gnu/xml/stream/XMLParser$ContentModel.class | Bin 787 -> 787 bytes .../gnu/xml/stream/XMLParser$ContentParticle.class | Bin 595 -> 595 bytes .../lib/gnu/xml/stream/XMLParser$Doctype.class | Bin 5857 -> 5857 bytes .../xml/stream/XMLParser$ElementContentModel.class | Bin 964 -> 964 bytes .../xml/stream/XMLParser$EmptyContentModel.class | Bin 600 -> 600 bytes .../lib/gnu/xml/stream/XMLParser$ExternalIds.class | Bin 556 -> 556 bytes .../lib/gnu/xml/stream/XMLParser$Input.class | Bin 6256 -> 6256 bytes .../xml/stream/XMLParser$MixedContentModel.class | Bin 965 -> 965 bytes .../classpath/lib/gnu/xml/stream/XMLParser.class | Bin 67379 -> 67815 bytes .../lib/gnu/xml/transform/XSLURIResolver.class | Bin 6144 -> 7205 bytes libjava/gnu/xml/dom/ls/SAXEventSink.h | 4 +- libjava/gnu/xml/transform/XSLURIResolver.h | 12 +++++ 24 files changed, 155 insertions(+), 29 deletions(-) diff --git a/libjava/classpath/ChangeLog b/libjava/classpath/ChangeLog index efc15120966..a9a3449c3f0 100644 --- a/libjava/classpath/ChangeLog +++ b/libjava/classpath/ChangeLog @@ -1,3 +1,18 @@ +2007-02-07 Chris Burdess + + Fixes PR 30718. + * gnu/xml/dom/ls/SAXEventSink.java: Add public accessor/mutators. + * gnu/xml/transform/XSLURIResolver.java: Add support for custom + SAXSources without a backing URL or stream. + + Fixes PR 27710. + * gnu/xml/dom/DomDocumentBuilderFactory.java: Fall back to synchronous + LSParser if implementation does not support asynchronous. + * gnu/xml/stream/XMLParser.java, + gnu/xml/stream/XIncludeFilter.java: Use custom code instead of + java.net.URL to resolve to an an absolute URI, to avoid nonexistent + protocol handler problems. + 2007-02-06 Tom Tromey PR libgcj/30707: diff --git a/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java b/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java index 02347858002..4d2828af84e 100644 --- a/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java +++ b/libjava/classpath/gnu/xml/dom/DomDocumentBuilderFactory.java @@ -43,6 +43,7 @@ import javax.xml.parsers.DocumentBuilderFactory; import javax.xml.parsers.FactoryConfigurationError; import javax.xml.parsers.ParserConfigurationException; import org.w3c.dom.DOMConfiguration; +import org.w3c.dom.DOMException; import org.w3c.dom.DOMImplementation; import org.w3c.dom.bootstrap.DOMImplementationRegistry; import org.w3c.dom.ls.DOMImplementationLS; @@ -84,8 +85,38 @@ public class DomDocumentBuilderFactory public DocumentBuilder newDocumentBuilder() throws ParserConfigurationException { - LSParser parser = ls.createLSParser(DOMImplementationLS.MODE_ASYNCHRONOUS, - "http://www.w3.org/TR/REC-xml"); + LSParser parser = null; + try + { + parser = ls.createLSParser(DOMImplementationLS.MODE_ASYNCHRONOUS, + "http://www.w3.org/TR/REC-xml"); + } + catch (DOMException e) + { + if (e.code == DOMException.NOT_SUPPORTED_ERR) + { + // Fall back to synchronous parser + try + { + parser = ls.createLSParser(DOMImplementationLS.MODE_SYNCHRONOUS, + "http://www.w3.org/TR/REC-xml"); + } + catch (DOMException e2) + { + ParserConfigurationException pce = + new ParserConfigurationException(); + pce.initCause(e2); + throw pce; + } + } + else + { + ParserConfigurationException pce = + new ParserConfigurationException(); + pce.initCause(e); + throw pce; + } + } DOMConfiguration config = parser.getDomConfig(); setParameter(config, "namespaces", isNamespaceAware() ? Boolean.TRUE : Boolean.FALSE); diff --git a/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java b/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java index 8c5b104b9f2..285540060d9 100644 --- a/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java +++ b/libjava/classpath/gnu/xml/dom/ls/SAXEventSink.java @@ -111,11 +111,16 @@ public class SAXEventSink interrupted = true; } - protected Document getDocument() + public Document getDocument() { return doc; } + public void setReader(XMLReader reader) + { + this.reader = reader; + } + // -- ContentHandler2 -- public void setDocumentLocator(Locator locator) diff --git a/libjava/classpath/gnu/xml/stream/XIncludeFilter.java b/libjava/classpath/gnu/xml/stream/XIncludeFilter.java index 7e707820d52..86961faea91 100644 --- a/libjava/classpath/gnu/xml/stream/XIncludeFilter.java +++ b/libjava/classpath/gnu/xml/stream/XIncludeFilter.java @@ -42,7 +42,6 @@ import java.io.InputStreamReader; import java.io.IOException; import java.io.Reader; import java.net.HttpURLConnection; -import java.net.MalformedURLException; import java.net.URL; import java.net.URLConnection; import java.util.HashSet; @@ -122,17 +121,7 @@ class XIncludeFilter boolean expandERefs) { super(reader); - try - { - this.systemId = XMLParser.absolutize(null, systemId); - } - catch (MalformedURLException e) - { - RuntimeException e2 = new RuntimeException("unsupported URL: " + - systemId); - e2.initCause(e); - throw e2; - } + this.systemId = XMLParser.absolutize(null, systemId); this.namespaceAware = namespaceAware; this.validating = validating; this.expandERefs = expandERefs; diff --git a/libjava/classpath/gnu/xml/stream/XMLParser.java b/libjava/classpath/gnu/xml/stream/XMLParser.java index ef3779944c3..663a300f88c 100644 --- a/libjava/classpath/gnu/xml/stream/XMLParser.java +++ b/libjava/classpath/gnu/xml/stream/XMLParser.java @@ -1592,7 +1592,6 @@ public class XMLParser * @param href the (absolute or relative) URL to resolve */ public static String absolutize(String base, String href) - throws MalformedURLException { if (href == null) return null; @@ -1622,7 +1621,60 @@ public class XMLParser if (!base.endsWith("/")) base += "/"; } - return new URL(new URL(base), href).toString(); + // We can't use java.net.URL here to do the parsing, as it searches for + // a protocol handler. A protocol handler may not be registered for the + // URL scheme here. Do it manually. + // + // Set aside scheme and host portion of base URL + String basePrefix = null; + ci = base.indexOf(':'); + if (ci > 1 && isURLScheme(base.substring(0, ci))) + { + if (base.length() > (ci + 3) && + base.charAt(ci + 1) == '/' && + base.charAt(ci + 2) == '/') + { + int si = base.indexOf('/', ci + 3); + if (si == -1) + base = null; + else + { + basePrefix = base.substring(0, si); + base = base.substring(si); + } + } + else + base = null; + } + if (base == null) // unknown or malformed base URL, use href + return href; + if (href.startsWith("/")) // absolute href pathname + return (basePrefix == null) ? href : basePrefix + href; + // relative href pathname + if (!base.endsWith("/")) + { + int lsi = base.lastIndexOf('/'); + if (lsi == -1) + base = "/"; + else + base = base.substring(0, lsi + 1); + } + while (href.startsWith("../") || href.startsWith("./")) + { + if (href.startsWith("../")) + { + // strip last path component from base + int lsi = base.lastIndexOf('/', base.length() - 2); + if (lsi > -1) + base = base.substring(0, lsi + 1); + href = href.substring(3); // strip ../ prefix + } + else + { + href = href.substring(2); // strip ./ prefix + } + } + return (basePrefix == null) ? base + href : basePrefix + base + href; } /** diff --git a/libjava/classpath/gnu/xml/transform/XSLURIResolver.java b/libjava/classpath/gnu/xml/transform/XSLURIResolver.java index 8d7e3fcb485..8bb8977315e 100644 --- a/libjava/classpath/gnu/xml/transform/XSLURIResolver.java +++ b/libjava/classpath/gnu/xml/transform/XSLURIResolver.java @@ -55,9 +55,13 @@ import javax.xml.transform.URIResolver; import javax.xml.transform.dom.DOMSource; import javax.xml.transform.sax.SAXSource; import javax.xml.transform.stream.StreamSource; +import org.w3c.dom.Document; import org.w3c.dom.Node; import org.xml.sax.InputSource; import org.xml.sax.SAXException; +import org.xml.sax.XMLReader; +import gnu.xml.dom.DomDocument; +import gnu.xml.dom.ls.SAXEventSink; import gnu.xml.dom.ls.ReaderInputStream; /** @@ -137,17 +141,14 @@ class XSLURIResolver else if (source != null && source instanceof SAXSource) { SAXSource ss = (SAXSource) source; - if (ss.getInputSource() != null) + InputSource input = ss.getInputSource(); + if (input != null) { - in = ss.getInputSource().getByteStream(); - if (in == null) - { - Reader reader = ss.getInputSource().getCharacterStream(); - if (reader != null) - { - in = new ReaderInputStream(reader); - } - } + if (systemId == null) + systemId = input.getSystemId(); + XMLReader reader = ss.getXMLReader(); + if (reader != null) + return parse(input, reader); } } if (in == null) @@ -294,6 +295,27 @@ class XSLURIResolver throw new TransformerException(e); } } + + DOMSource parse(InputSource source, XMLReader reader) + throws SAXException, IOException + { + SAXEventSink eventSink = new SAXEventSink(); + eventSink.setReader(reader); + reader.setContentHandler(eventSink); + reader.setDTDHandler(eventSink); + reader.setProperty("http://xml.org/sax/properties/lexical-handler", + eventSink); + reader.setProperty("http://xml.org/sax/properties/declaration-handler", + eventSink); + // XXX entityResolver + // XXX errorHandler + reader.parse(source); + Document doc = eventSink.getDocument(); + String systemId = source.getSystemId(); + if (systemId != null && doc instanceof DomDocument) + ((DomDocument) doc).setDocumentURI(systemId); + return new DOMSource(doc, systemId); + } } diff --git a/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class b/libjava/classpath/lib/gnu/xml/dom/DomDocumentBuilderFactory.class index 4e082d19a9ddd773031267f8ca13de5493115959..69733b67a2e046af735113c636fcff027079790b 100644 GIT binary patch delta 1625 zcmZ`(+fN*26#sp@vokx(0L@~d&_$L2!7jUOTZs{AjX=5C1w^obZPDp6g{6BzcDc2+ zTM8{jt-X9&i%PB1O08`LiV$ofF)=aegE9UAP5Mxu^})oa#xuiaH9<4UoNs>Te$MZk zCysN@O%I-Y_dS3eSdw63DB_RArx!}SLR>}__DHB^*b*7&@eV)h_jX4@-aXBYH6wnl zKNg6D71W@XLGVYqH3rsdLpjp*SA&9=v6n#(gaff^budb5_cOjebx8FF)o_out#=?Y ztR4z#72Ez3O@Z8qW(iFUS-eHcvM6{3Eqp>K+tSKl3#%b5+OPVxs0|FSDcFa0{)@0x z?8JTvuk$~IO!EO8VT$49aC^hH%<>k zI~vxNm826i2^0LGSYRE;83ierpcTL(OAC9Ci; zG`igOS6$0!n})oIjyZ^n=vszKutspa$H2P`yki~jBRsefju8CT#wam@hc?2a1RvW7 zpCI_;zu>rD%YBS@Qil$`%aRqGo`;E^bedZg9M}doNfS!xmfnJk-W~L{pQd{NGD$nS zkU<1@Ktnzb)08#x=!FMIP=-D{hah$%gqMi5br_(1#L$F6x=%#ZI7TVNQ8FDRmLDVa zam0z3r|5hdCon}{(66Uhgdz|Um)kmMtr!DCF~Pm+J(EWA`| zJ(Wqj#dcae=>H-SK1GDippwe)4!kC+GXw9^(M*-v@E*<)cj}2Z`pJxTEaH8fr;cG< z*&ZdY?}8a0L(%u`Ucu$H61Qg+ADOYBXE4TOrw|~w6kNblxJ0AjMl~)2&rMVVZ>-tBELp})B85x%7Izo)zK8{v*OKkzK&1056@MKHZeTO! zkb|4pN_^0Vyq>Z!nX)jMvXD~RjFj^<9uuA?Yk>+VM=G7TGtJhPNNy$a-Mzgrcbd`8 bJTYwnX|xMH-})%BlKHZdqgW)Z3HSa6FU4Zy delta 1301 zcmZXS>r+&97{@<9mpyw}4hzE=YshuP(H4wydXXcIvyymeK@$VkOL$xsTH0NZT@kyu zWguQMqn~MFX?B^$nPv(mVTc*&RWEwc^au2|f5Upt*==oN&Ya(K&i8qK&-eRWt~EZc z_5b$x=SRTvd^_*&DJd&sH!u6>Pz3ewzM$7)51m?hU)Zou;ZNJCcxKFw#WQ{s2P|G8 zqPx5sjcyM4IH=R!YR{`2)-&FQnr@C*yvAXLw=*2++2h>kv*;(PfAL1uFG85>Qd;_0lL{gg#aT<49TitC$3gE4IJh5#!@U2a6Q#76C8JQGW#hn>tx zixd%smB@4y9VVj^IAJFfgLbwMc-msT5ZGIEm}C`!$wWGqJTn;IW}mgk<4)EIi?dE} zMIzI`Kkp2S&lmS`PEkKwSs(B-$=eoXyrUS{I-6?H4}3#<#0(i1nDX&~o->;~(_GY# z%ntJcmz@q=(SMlF=!E4o6hReM8=?7vOv0$tx>EYPz^ufRtIKJLOjF5H!e2L!g)!h-@2 ztxb{$)lI%Mx$>D5b39Svk{el(SFD>z7XSQBIWg z9AyK?*ebS#2eJmSvDBu`|TE$`E(N-es7t zWa}2hJ|sb#&^6|J$#c?ZgmRg8IWN1iUZQfmC(>}1T-gX~~qKR`fV*As4SJutA;6p~O=sDnE4D>bS;7qDpa{ zk9984q|WL4fndMmSMtnqMb2`$vrArQ6Vwx8LtIGGC#9((nQ|!{zj7(oiTwnvD=Qjv zH=;}2T&=p*vdC>2Sg7P7_vW1fWkfTpawT6^4TgMANfpyrT;wS(QNv{!+|~b3HWw+I zi6a{u`!a)nyQ$dWR-%8X@E<9Vo3a`AzF*57aBH2VR73~RE?>3Vv0#xeSm0B9 I?P~t!AAsZuaR2}S diff --git a/libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class b/libjava/classpath/lib/gnu/xml/dom/ls/SAXEventSink.class index f5f281ea1960d783a6d0f6caf380524c3179d0bb..d0caa3bd423f74a038d4eccc90e9160d3ba23ddc 100644 GIT binary patch literal 12922 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 a!{;3h@U&{9Po>jMob1O{+X2NdkNzJum1Elg literal 17712 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 A1^@s6 diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AnyContentModel.class index df7b43baf038a06cec65b5fbf360e0afd3dde194..9be3b141ee4cea1b9d8697be91f5d8221d5e40ea 100644 GIT binary patch delta 25 gcmcb_a*1VwBol861FLW%1GjJzgMe`IWHlxo08sM iU=iE^Wf9&0g%RHXhY{cajuGMjkP+nooDt`fsRmU0=O!Nj delta 128 zcmWN{JqrPG0LSs4;qOvTeN)P05z{R)lg(ngSq%45ba}c?BEv$~DJe=<9> zzis2}WbjpBsuDAmnXAe|HI`};$RSjVl{#!RV4IGOmFq>a*sI7v6^^QNQiJoqUDV~O cKCy<}G~zCgrzX7Q^H#t|A&DZ=^&{{80F5*tI{*Lx diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$AttributeDecl.class index 8ca9de327de93c9dcf3ae1df62abac257f671825..86380a679073ee911921e321279024585e8a7e90 100644 GIT binary patch delta 41 xcmZouG1FP^922SA_41B^f8H9yrF-Qu}W{?-2!=NfWcd{gN1_0YH3Dp1q diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ContentModel.class index 95921cf64b5e8388cccb2cd1c0dadeaa6de30c72..c8e3969e2f5e4d7a5039c05d6838f5c3f730ef2d 100644 GIT binary patch delta 29 kcmbQtHkob1874s&23BEv22No|20mdY24P|6$#;uNj4qM^egTJfcLzFcz}#n6a?&wjp_+mB&JP zEU{6P9kRpHc6Mx(?5v!u&fhs-f1N}q5xSl=tLxxq6_S|*o5=_;4Mnt2!AvwT8*R)* zFAET52oo$roYk0R4dz%YSLTV+gcLR-l`ZhH6$K2VjBNa~dU#X;&PzoRMK~js!h1XI{mEibWMm zDwb8Os904|E+3wVv#DZB#kPta6}u|-RP3u*GY^o?LpVG_DUapHyKbK9<_vi}M;$L@ zol)abviuohSYh|A-tMH!nsGm9dX#5t!F;YfNb~+U6w63{@@=zXI*{( delta 394 zcmW;HF-#M26bA6`YN`-C+yB?QD>rDPh_>{u2{afGBqT0a3W0GY=4F8(g;I9v>lK8r{s`2|F;rEXEk1#1IwcWF)rj_h?tIc0Gm1KIGW1UC+?R z0hu-TC5SKkLn>aVD5w}#QB*OaVpK(5PUB_&rHUyP(<)x6D5;oHQC6{O&m+bPd@i7q zi*jzZ>?PeS;~}f)XHB*^XRXLxFDX`{5M9^XhKwa@(YKo3$$nzZey^#a-+aJhHe}qH zus+E@CnevVthJ+Q)Y_Fn_qp}$x~1Xft-b5}UpI{Khc1f|{?d_>H(n;f-?Hlk{{io2 BT4ewL diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ElementContentModel.class index 30d2626e86fa553ab52d3573d8e0a06fb41593cb..71e6334a938654f45b3bf6fd6f04a3f050aaf48b 100644 GIT binary patch delta 31 mcmX@YeuRC4Ju_!H1FLW;1GjM5WDjOX)@lY$;hM>P%w_1FNtj1Gli#WDjOXR(A$YVUNju%w_;{;Rd$= diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$EmptyContentModel.class index fcfaca7a49eda7cc8fa91e8314801575fa19c2cd..e74252ef0e324795bbd841e598711c1e43036652 100644 GIT binary patch delta 25 gcmcb?a)V`qJQHsS1FLW#1GjJxgMe`GWF00Q08iZoCjbBd delta 25 gcmcb?a)V`qJQJ@11FNts1GlgogMhI7WF00Q07mTuR{#J2 diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$ExternalIds.class index e1a134fdba4f8fa142a2100a47b4593e978f0ead..8a6def15bfcc244a9981aeef9eec2d09ff717b96 100644 GIT binary patch delta 13 UcmZ3(vW8{DKSm~DnMq7K03mGz0RR91 delta 13 UcmZ3(vW8{DKSm~@7n7KD03?_M%m4rY diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$Input.class index ddd6c4c2abfcf4cbf80ecf972375c41bc7c741dc..74a7e7916521b28028da19640b39d89e9a56f855 100644 GIT binary patch delta 734 zcmW+ydrZx796i6>c5e^2Ti^4&3Za_T3zcfpV;2c^R8{6+3wadAx=qR-u?RsAM&&M6Vt{wJo_H z2Js$FVhCpO4IW|`p5i;a#R&Yw4+M%)ED&Re6h9Fy#t|oeBSHLuUHnC=n7~E?*)*Vl zj>_4HlQijebBP1Z`YAW551RcQC?;XBn}VK`F!w+7RxrkazIvxyx|IPiGEnskf*XTX zzYutGo*rx2Go9gzUI+^#6cvftj6x6>A)L|rQ%lR-rEuml_;I;nZCJqstmJB}p&jd( zsLCf{8+n1ujt!F+DT5@sWTIj}PqY21zs?m`yx)LB0Axmz{b z2c7#-!2_t`LDaGU%{+{|O4q?c-6DFtij?y)xU*PAEWsR>D)-|E<%y;Vaa}u72LtQj z$_6EARL>h!-Ww`!Ga`5sv21~jtt!ARr0_P@^NtG8h8?_zy}XY@e1M~DM=2kojE_*x z$EfBL)UyMve2#W@;u&9{n=kQ}UHHgu^zjvj`5NQw(bQCLG!uI@55Ci8@`L8jPg*EH zYm50sv$0RJ^Q)G^el3FoS{4Vj91iK})@=6?IC2zbj;ZlS;Kg5hm$f!*0xlA8l^UdU zfRCI4Uui&~bVQUiB2JpHO5sH5gtgKcY0^cnn^tI*78s>FOwvQi1;QkiTJDOO22b)uA*p=`deY0aEJ$fIx9?p@FQ{O)VlnE#l6-4}=GZLnuDrf@riDX?${ zW-t}AxeMOh2_L2-glP!pZbUHy8@UHtnTZr;Bb!;s;XV{{FN&CpE6hQqRO#W4EzwP| zk!nnmW*DUf&e953xepI%gQq-zx3t4gI6u|eMGr6w1B)aYf9;R(6Wq~ym5nektKQZmFKqk69?!6M&aC*NT&KVXud z5c#Dje(Ry;{nO;H8jr(Fz?B+i(triDK_G4QPIKd2M@*&>o;0bc8LKH+OA9v874dXa z$Ganw9`#jD7ATZHNK#eDj~mjPJ8KtysetPDaNmm!J4NM)#c7KU7gql7D= za}_EWfl97H4I|OO^=MVTr;O6gGUT>dZH|Ex;}qf+%woLSo&bL)){jfIcH|&zcnA*6 zQJ`e^{xhsIF`FtkRr$Q*-An&5N~~KkKw$ zHfRyNqgmOg#jr_B;$1D3_q232>j{=Lr#9HK9Y%Jj@Y~?VM|z*7CZJn2uty!!3l~09 z?R${AWw$5IX;jDuLGbQE7=6Nglyuk_lf$1HrSB6_C^{9f6I5x@~;|DZ>>`uqc0 CF1OAA diff --git a/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class b/libjava/classpath/lib/gnu/xml/stream/XMLParser$MixedContentModel.class index 63bc30f3a03ac3f01fe3b68e2e52c2b9d02965fe..eded8c572d1676d57099e28972fb602c178de947 100644 GIT binary patch delta 37 tcmX@gew2N~S0>JB46MRa7`TO}PX5Q_$U2LGQ+W1d7iKTU`IGyZ%>d?$3x@yz delta 37 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 diff --git a/libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class b/libjava/classpath/lib/gnu/xml/transform/XSLURIResolver.class index 5fc53be4fd5b4066e6628ae0a54054a89391c803..064742c935a5b7fb5c9a94e0b77dbb7c22e6d59f 100644 GIT binary patch delta 3395 zcmZ`*dwkQ?75|<#$*=k4rY}g#kJ3`!eUcWGM@m7UAcaC1P#_IYyNB<4fu}0mGBWnlNnh$w{C&yYc$&kMp1EH zxUI>(rX}cZ_pNbX5LM|Q_yrna60EJhwsu|{B5?&Z-3xt{+C_$^hchM%- z*(wVngiK}O)nol`rF>qv(bUn5)dE*zjXY+n7`K*?p3oTdg__)T;ZT!~POKOB9237>jMjex}Ss)WzoC@nUsim%xv)TW(6L%Grh% z9hKOrV>#|s7w;nsD3W2_B~Pc>3LX&Ht8_Wq&B(&e_K4Y1%eE5s2|S30WPke<`y=?7 zhMy9KNVk26Rpqx!Zn96XJ*Kq%Tt08lA9#R`O_&l0yKC!btnr(zkw7@4Aui9^&&WBB z;kmgN$AJ7;Z;)ZfL}#-yu^Gpe(pTjHM-jay-*OBad;&Y|IEmkBc)bq={K(8e&=hzB zZ^}ZEv-oYiqv7|Q^{#|TSKv?hGr<-#LrsyD ziCiZHe-ZdA-j|!jDCbFK)=B(bnf0OU5k+Yy@ehH2;$QN#Se*5#fDVU_vpA>Wb3&1d zk(lZ8N5XBLf4F@1h>#sJudWIEJ6g<8 zWLifc$i=3SQ;trr$QG2L-XEgl5y}#jP5oqR`UG;xeJt!xxk@-f2@OF5DNnwiehKBv z!VEL2(NIEOQ>Y_RuBsSETd>pPS_iH3n4&8T?hXUlpI%?G{u)l>{f>uUS-c z;cnhn?|vcTducS5P`)w}Y4y03zoWyGxC^Kr)!G(rHQOQqv)vsu*982&VEM|VHOh}m z1&yQe$r_lSJlRPYC3mJ2%&os_6<2mb`9wnHmzDp&?ncue^tJgE^uMgXife`@5e9KD z%!@8o(Vi@53SGuea+~N&x~j`$Ywc@XeUd7TrV(<#oW`1POP^GysZ=9qhAQK96|VCj zYFJRq=`{N?O~|if4dcHF2~~{$#;~7|lSum4ZIBx?ykwVeWnAW*4GZQW1N9h)*|IdV z+PWB4ERijlms^)HwVbJ3`Eq8p-48pri)@%OC+iC5Dx`3Q+tC6S!t&az%k8^iLpnf@ z$XBvvMVA?l80tL25WT4H#(b|K;#lC(_hM>kFRDwApkW8bmG+>)<4{MJB##a^EJvXm zB8Fuii{fA5aT?BEh!R5>&KR!hGW4T(uEemEmB+9`-R;FLb#Rr(QnDWd4a*^fQ!udy z?H;@0cX$Nz2b|~kpfjm3OKDp-UNc0F7DH6Mc!TKx09vsKLIEDN0 z9!o#uf%Gx<;Zr`Bd0mN~D7E7Vt;N%{ z0ngCQc$R(brR{j0eLY6^@-zAD*Q*RYh8qenn0Jbr#NJSXs)C1Opm-CRN<|@U!9k`h z7)G0L2#+(gN77B`W=cab1=;*38O~)Cz*C4G=1EY^q3XdA4&HnY-qUyng5y!nyl0uW zj-}6mfywbmXX#NmIT8o)JYHbwajeHNyvWj12(r1qgp*wwnz-R$r(9~%K(I?XUc#?n zXQvePGMfObOhs{2ui0Cs*j7au*77)h zt&ZfE_aalVn31?6x^Y4&_|0L%(zS#<*7BpUmd;}xlgl2%Z)13CoXurR*^L~Rtt^H= zS{mvNm#Cc!LA)=?rVJFbw2S1N8}yuK&LpF@1lrD`FO@p6;JM2jG=Gw zh@P_uA2BxngQfU{|9;Nk3VepE@Hsc3b68J=jg*S5WWg@7aW$kd*z^QSmM22`cppkQ z-v?z+PX1VxC<{N8!Fpd{G%RIp|7NgSS>qUf=M%2Ftt|a7^E5VB{Xu2s=10#Qg>ev{ z)s6^jCtBamtC&0ClvhPE|dp zhU=WMs{%!X&If87g9_A-gPH@KTyRkCaAeW|xX3_0-DeqXPY@5_vQRgJ~?6>llonOSmvEMG3ENn!tWe#3b@y8db5c zli;Q5M1m(Lt-p|9liNTqSOL3~D9jY3;oCHmE@!|^VwJO~mR+8PVTq1l<^Q_b$|#!i EKLtTi*8l(j delta 2444 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 diff --git a/libjava/gnu/xml/dom/ls/SAXEventSink.h b/libjava/gnu/xml/dom/ls/SAXEventSink.h index ec35c66b68e..54f4e5f1596 100644 --- a/libjava/gnu/xml/dom/ls/SAXEventSink.h +++ b/libjava/gnu/xml/dom/ls/SAXEventSink.h @@ -57,9 +57,9 @@ public: SAXEventSink(); public: // actually package-private virtual void interrupt(); -public: // actually protected - virtual ::org::w3c::dom::Document * getDocument(); public: + virtual ::org::w3c::dom::Document * getDocument(); + virtual void setReader(::org::xml::sax::XMLReader *); virtual void setDocumentLocator(::org::xml::sax::Locator *); virtual void startDocument(); virtual void endDocument(); diff --git a/libjava/gnu/xml/transform/XSLURIResolver.h b/libjava/gnu/xml/transform/XSLURIResolver.h index a7e0aeae26e..394c4c7d0da 100644 --- a/libjava/gnu/xml/transform/XSLURIResolver.h +++ b/libjava/gnu/xml/transform/XSLURIResolver.h @@ -46,6 +46,17 @@ extern "Java" } } } + namespace org + { + namespace xml + { + namespace sax + { + class InputSource; + class XMLReader; + } + } + } } class gnu::xml::transform::XSLURIResolver : public ::java::lang::Object @@ -62,6 +73,7 @@ public: // actually package-private virtual ::javax::xml::transform::dom::DOMSource * resolveDOM(::javax::xml::transform::Source *, ::java::lang::String *, ::java::lang::String *); virtual ::java::net::URL * resolveURL(::java::lang::String *, ::java::lang::String *, ::java::lang::String *); virtual ::javax::xml::parsers::DocumentBuilder * getDocumentBuilder(); + virtual ::javax::xml::transform::dom::DOMSource * parse(::org::xml::sax::InputSource *, ::org::xml::sax::XMLReader *); ::java::util::Map * __attribute__((aligned(__alignof__( ::java::lang::Object)))) lastModifiedCache; ::java::util::Map * nodeCache; ::javax::xml::parsers::DocumentBuilder * builder; -- 2.11.0