You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mu...@apache.org on 2012/09/05 18:49:47 UTC
svn commit: r1381242 -
/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
Author: mukulg
Date: Wed Sep 5 16:49:46 2012
New Revision: 1381242
URL: http://svn.apache.org/viewvc?rev=1381242&view=rev
Log:
committing a new fix for jira issue, XERCESJ-1578
Modified:
xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
Modified: xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java
URL: http://svn.apache.org/viewvc/xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java?rev=1381242&r1=1381241&r2=1381242&view=diff
==============================================================================
--- xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java (original)
+++ xerces/java/branches/xml-schema-1.1-dev/src/org/apache/xerces/impl/xs/traversers/XSDHandler.java Wed Sep 5 16:49:46 2012
@@ -1214,7 +1214,7 @@ public class XSDHandler {
schemaNamespace = currSchemaInfo.fTargetNamespace;
if (fSchemaVersion == Constants.SCHEMA_VERSION_1_1) {
if (refType == XSDDescription.CONTEXT_OVERRIDE) {
- if (newSchemaRoot != null && isValidTargetUriForIncludeOrOverride(schemaSource, locationHint)) {
+ if (newSchemaRoot != null && isValidTargetUriForIncludeOrOverride(schemaId, locationHint)) {
final Element transformedSchemaRoot = (Element) fOverrideHandler.transform(schemaId, child, newSchemaRoot);
// Either we had a collision where the transformed
@@ -1240,7 +1240,7 @@ public class XSDHandler {
fOverrideHandler.checkSchemaRoot(schemaId, child, newSchemaRoot);
}
}
- else if (refType == XSDDescription.CONTEXT_INCLUDE && !isValidTargetUriForIncludeOrOverride(schemaSource, locationHint)) {
+ else if (refType == XSDDescription.CONTEXT_INCLUDE && !isValidTargetUriForIncludeOrOverride(schemaId, locationHint)) {
fLastSchemaWasDuplicate = true;
}
}
@@ -1286,18 +1286,15 @@ public class XSDHandler {
* Check if the target URI for <include> or <override> is correct. It must not be absent, and it should not point
* to the parent schema document.
*/
- private boolean isValidTargetUriForIncludeOrOverride(XMLInputSource schemaSource, String locationHint) {
+ private boolean isValidTargetUriForIncludeOrOverride(String schemaId, String locationHint) {
boolean isUriValid = true;
-
try {
- String expandedSystemId = XMLEntityManager.expandSystemId(schemaSource.getSystemId(), schemaSource.getBaseSystemId(), false);
- String expandedLoctionHint = XMLEntityManager.expandSystemId(locationHint, locationHint, false);
- isUriValid = !("".equals(expandedSystemId) || ((expandedLoctionHint != null) ? expandedLoctionHint.equals(expandedSystemId) : true));
+ String expandedLoctionHint = XMLEntityManager.expandSystemId(locationHint, fSchemaGrammarDescription.getBaseSystemId(), false);
+ isUriValid = !("".equals(schemaId) || ((expandedLoctionHint != null) ? expandedLoctionHint.equals(schemaId) : true));
}
catch (MalformedURIException ex) {
isUriValid = false;
}
-
return isUriValid;
} // isValidTargetUriForIncludeOrOverride
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org