You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ra...@apache.org on 2008/04/22 22:00:27 UTC
svn commit: r650629 -
/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
Author: radup
Date: Tue Apr 22 13:00:24 2008
New Revision: 650629
URL: http://svn.apache.org/viewvc?rev=650629&view=rev
Log:
Added Schema compilation option to skip errors in case duplicate component declarations are encountered.
Modified:
xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java
URL: http://svn.apache.org/viewvc/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java?rev=650629&r1=650628&r2=650629&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscState.java Tue Apr 22 13:00:24 2008
@@ -92,6 +92,7 @@
private boolean _noUpa;
private boolean _noPvr;
private boolean _noAnn;
+ private boolean _mdefAll;
private Set _mdefNamespaces = buildDefaultMdefNamespaces();
private EntityResolver _entityResolver;
private File _schemasDir;
@@ -532,12 +533,18 @@
_mdefNamespaces.addAll((Collection)options.get(XmlOptions.COMPILE_MDEF_NAMESPACES));
String local = "##local";
+ String any = "##any";
if (_mdefNamespaces.contains(local))
{
_mdefNamespaces.remove(local);
_mdefNamespaces.add("");
}
+ if (_mdefNamespaces.contains(any))
+ {
+ _mdefNamespaces.remove(any);
+ _mdefAll = true;
+ }
}
}
@@ -747,10 +754,17 @@
{
if (_redefinedGlobalTypes.containsKey(redefined))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _redefinedGlobalTypes.get(redefined)).getSourceName() } ,
- type.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _redefinedGlobalTypes.get(redefined)).getSourceName() } ,
+ type.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _redefinedGlobalTypes.get(redefined)).getSourceName() } ,
+ type.getParseObject());
+ }
+ }
}
else
{
@@ -762,10 +776,17 @@
{
if (_globalTypes.containsKey(name))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _globalTypes.get(name)).getSourceName() },
- type.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _globalTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global type", QNameHelper.pretty(name), ((SchemaType) _globalTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ }
+ }
}
else
{
@@ -809,10 +830,17 @@
{
if (_documentTypes.containsKey(name))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "global element", QNameHelper.pretty(name), ((SchemaComponent) _documentTypes.get(name)).getSourceName() },
- type.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global element", QNameHelper.pretty(name), ((SchemaComponent) _documentTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global element", QNameHelper.pretty(name), ((SchemaComponent) _documentTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ }
+ }
}
else
{
@@ -847,10 +875,17 @@
{
if (_attributeTypes.containsKey(name))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "global attribute", QNameHelper.pretty(name), ((SchemaComponent) _attributeTypes.get(name)).getSourceName() },
- type.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global attribute", QNameHelper.pretty(name), ((SchemaComponent) _attributeTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "global attribute", QNameHelper.pretty(name), ((SchemaComponent) _attributeTypes.get(name)).getSourceName() },
+ type.getParseObject());
+ }
+ }
}
else
{
@@ -973,10 +1008,17 @@
{
if (_redefinedAttributeGroups.containsKey(redefined))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedAttributeGroups.get(redefined)).getSourceName() },
- attributeGroup.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedAttributeGroups.get(redefined)).getSourceName() },
+ attributeGroup.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedAttributeGroups.get(redefined)).getSourceName() },
+ attributeGroup.getParseObject());
+ }
+ }
}
else
{
@@ -988,10 +1030,17 @@
{
if (_attributeGroups.containsKey( name ))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _attributeGroups.get(name)).getSourceName() },
- attributeGroup.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _attributeGroups.get(name)).getSourceName() },
+ attributeGroup.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "attribute group", QNameHelper.pretty(name), ((SchemaComponent) _attributeGroups.get(name)).getSourceName() },
+ attributeGroup.getParseObject());
+ }
+ }
}
else
{
@@ -1052,10 +1101,17 @@
{
if (_redefinedModelGroups.containsKey(redefined))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedModelGroups.get(redefined)).getSourceName() },
- modelGroup.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedModelGroups.get(redefined)).getSourceName() },
+ modelGroup.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _redefinedModelGroups.get(redefined)).getSourceName() },
+ modelGroup.getParseObject());
+ }
+ }
}
else
{
@@ -1067,10 +1123,17 @@
{
if (_modelGroups.containsKey(name))
{
- if (!ignoreMdef(name))
- error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
- new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _modelGroups.get(name)).getSourceName() },
- modelGroup.getParseObject());
+ if (!ignoreMdef(name)) {
+ if (_mdefAll) {
+ warning(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _modelGroups.get(name)).getSourceName() },
+ modelGroup.getParseObject());
+ } else {
+ error(XmlErrorCodes.SCHEMA_PROPERTIES$DUPLICATE,
+ new Object[] { "model group", QNameHelper.pretty(name), ((SchemaComponent) _modelGroups.get(name)).getSourceName() },
+ modelGroup.getParseObject());
+ }
+ }
}
else
{
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org