mrglavas 2004/09/21 14:10:23 Modified: java/src/org/apache/xerces/util URI.java Log: Some additional changes for new initialization and absolutize methods. Revision Changes Path 1.21 +21 -13 xml-xerces/java/src/org/apache/xerces/util/URI.java Index: URI.java =================================================================== RCS file: /home/cvs/xml-xerces/java/src/org/apache/xerces/util/URI.java,v retrieving revision 1.20 retrieving revision 1.21 diff -u -r1.20 -r1.21 --- URI.java 16 Sep 2004 04:29:28 -0000 1.20 +++ URI.java 21 Sep 2004 21:10:23 -0000 1.21 @@ -284,14 +284,14 @@ * * @param p_uriSpec the URI specification string (cannot be null or * empty) - * @param allowRelativeURI true to set up not throwing an exception - * in case of relative URI, false otherwise. + * @param allowNonAbsoluteURI true to permit non-absolute URIs, + * false otherwise. * * @exception MalformedURIException if p_uriSpec violates any syntax * rules */ - public URI(String p_uriSpec, boolean allowRelativeURI) throws MalformedURIException { - this((URI)null, p_uriSpec, allowRelativeURI); + public URI(String p_uriSpec, boolean allowNonAbsoluteURI) throws MalformedURIException { + this((URI)null, p_uriSpec, allowNonAbsoluteURI); } /** @@ -321,14 +321,14 @@ * empty) * @param p_uriSpec the URI specification string (cannot be null or * empty if p_base is null) - * @param allowRelativeURI true to set up not throwing an exception - * in case of relative URI, false otherwise. + * @param allowNonAbsoluteURI true to permit non-absolute URIs, + * false otherwise. * * @exception MalformedURIException if p_uriSpec violates any syntax * rules */ - public URI(URI p_base, String p_uriSpec, boolean allowRelativeURI) throws MalformedURIException { - initialize(p_base, p_uriSpec, allowRelativeURI); + public URI(URI p_base, String p_uriSpec, boolean allowNonAbsoluteURI) throws MalformedURIException { + initialize(p_base, p_uriSpec, allowNonAbsoluteURI); } /** @@ -477,20 +477,24 @@ * @param p_uriSpec the URI spec string which may be an absolute or * relative URI (can only be null/empty if p_base * is not null) - * @param allowRelativeURI true to set up not throwing an exception + * @param allowNonAbsoluteURI true to permit non-absolute URIs, * in case of relative URI, false otherwise. * * @exception MalformedURIException if p_base is null and p_uriSpec * is not an absolute URI or if * p_uriSpec violates syntax rules */ - private void initialize(URI p_base, String p_uriSpec, boolean allowRelativeURI) + private void initialize(URI p_base, String p_uriSpec, boolean allowNonAbsoluteURI) throws MalformedURIException { String uriSpec = p_uriSpec; int uriSpecLen = (uriSpec != null) ? uriSpec.length() : 0; if (p_base == null && uriSpecLen == 0) { + if (allowNonAbsoluteURI) { + m_path = ""; + return; + } throw new MalformedURIException("Cannot initialize URI with empty parameters."); } @@ -516,7 +520,7 @@ if (colonIdx < 2 || slashIdx != -1 || queryIdx != -1 || fragmentIdx != -1) { // A standalone base is a valid URI according to spec - if (colonIdx == 0 || (p_base == null && fragmentIdx != 0 && !allowRelativeURI)) { + if (colonIdx == 0 || (p_base == null && fragmentIdx != 0 && !allowNonAbsoluteURI)) { throw new MalformedURIException("No scheme found in URI."); } } @@ -530,7 +534,7 @@ } } } - else if (p_base == null && uriSpec.indexOf('#') != 0 && !allowRelativeURI) { + else if (p_base == null && uriSpec.indexOf('#') != 0 && !allowNonAbsoluteURI) { throw new MalformedURIException("No scheme found in URI."); } @@ -728,6 +732,10 @@ if (m_queryString == null) { m_queryString = p_base.getQueryString(); + + if (m_fragment == null) { + m_fragment = p_base.getFragment(); + } } return; }
--------------------------------------------------------------------- To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]