You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xmlbeans.apache.org by ce...@apache.org on 2005/08/02 18:14:09 UTC
svn commit: r227032 - in /xmlbeans/trunk/src:
store/org/apache/xmlbeans/impl/store/
typeimpl/org/apache/xmlbeans/impl/schema/ xmlpublic/org/apache/xmlbeans/
Author: cezar
Date: Tue Aug 2 09:13:54 2005
New Revision: 227032
URL: http://svn.apache.org/viewcvs?rev=227032&view=rev
Log:
Contributed by: Yana Kadiyska. Fixing redefinition of enumerations.Adding bookmarks at end tags
Modified:
xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java
xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java
Modified: xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java?rev=227032&r1=227031&r2=227032&view=diff
==============================================================================
--- xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java (original)
+++ xmlbeans/trunk/src/store/org/apache/xmlbeans/impl/store/Locale.java Tue Aug 2 09:13:54 2005
@@ -3128,6 +3128,9 @@
_wantLineNumbers =
_startLocator != null &&
options.hasOption(XmlOptions.LOAD_LINE_NUMBERS);
+ _wantLineNumbersAtEndElt =
+ _startLocator != null &&
+ options.hasOption(XmlOptions.LOAD_LINE_NUMBERS_END_ELEMENT);
}
public void startDocument()
@@ -3230,6 +3233,12 @@
throws SAXException
{
_context.endElement();
+ if (_wantLineNumbersAtEndElt)
+ {
+ _context.bookmark(
+ new XmlLineNumber(_startLocator.getLineNumber(),
+ _startLocator.getColumnNumber(), -1));
+ }
}
public void characters(char ch[], int start, int length)
@@ -3342,6 +3351,7 @@
protected LoadContext _context;
private boolean _wantLineNumbers;
+ private boolean _wantLineNumbersAtEndElt;
private Locator _startLocator;
}
Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java?rev=227032&r1=227031&r2=227032&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/SchemaTypeCodePrinter.java Tue Aug 2 09:13:54 2005
@@ -297,7 +297,7 @@
emit(" * This is a complex type.");
break;
case SchemaType.ATOMIC:
- emit(" * This is an atomic type that is a restriction of " + sType.getBaseType().getFullJavaName() + ".");
+ emit(" * This is an atomic type that is a restriction of " + getFullJavaName(sType) + ".");
break;
case SchemaType.LIST:
emit(" * This is a list type whose items are " + sType.getListItemType().getFullJavaName() + ".");
@@ -312,6 +312,21 @@
emit(" */");
}
+ private String getFullJavaName(SchemaType sType)
+ {
+
+ SchemaTypeImpl sTypeI = (SchemaTypeImpl) sType;
+ String ret = sTypeI.getFullJavaName();
+
+ while (sTypeI.isRedefinition())
+ {
+ ret = sTypeI.getFullJavaName();
+ sTypeI = (SchemaTypeImpl) sTypeI.getBaseType();
+ }
+ return ret;
+ }
+
+
public static String indexClassForSystem(SchemaTypeSystem system)
{
String name = system.getName();
@@ -778,13 +793,6 @@
emit("/** " + sentence + " */");
}
- static SchemaType findBaseEnumType(SchemaType sType)
- {
- while (sType.getBaseType().hasStringEnumValues())
- sType = sType.getBaseType();
- return sType;
- }
-
public static String javaStringEscape(String str)
{
// forbidden: \n, \r, \", \\.
@@ -830,7 +838,7 @@
void printStringEnumeration(SchemaType sType) throws IOException
{
- SchemaType baseEnumType = findBaseEnumType(sType);
+ SchemaType baseEnumType = sType.getBaseEnumType();
String baseEnumClass = baseEnumType.getFullJavaName();
if (baseEnumType == sType)
Modified: xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java?rev=227032&r1=227031&r2=227032&view=diff
==============================================================================
--- xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java (original)
+++ xmlbeans/trunk/src/typeimpl/org/apache/xmlbeans/impl/schema/StscSimpleTypeResolver.java Tue Aug 2 09:13:54 2005
@@ -933,7 +933,13 @@
enumeratedValues.toArray(new XmlAnySimpleType[enumeratedValues.size()])));
SchemaType beType = sImpl;
- if (sImpl.getBaseType().getBaseEnumType() != null)
+ if ( ((SchemaTypeImpl)sImpl).isRedefinition() ){
+ beType = sImpl.getBaseType().getBaseEnumType();
+ if( beType == null || sImpl.getBaseType() == beType ){
+ beType = sImpl;
+ }
+ }
+ else if (sImpl.getBaseType().getBaseEnumType() != null)
beType = sImpl.getBaseType().getBaseEnumType();
sImpl.setBaseEnumTypeRef(beType.getRef());
}
Modified: xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java
URL: http://svn.apache.org/viewcvs/xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java?rev=227032&r1=227031&r2=227032&view=diff
==============================================================================
--- xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java (original)
+++ xmlbeans/trunk/src/xmlpublic/org/apache/xmlbeans/XmlOptions.java Tue Aug 2 09:13:54 2005
@@ -422,6 +422,22 @@
return set( LOAD_LINE_NUMBERS );
}
+ /**
+ * If this option is set, line number annotations are placed
+ * in the store when parsing a document. This is particularly
+ * useful when you want {@link XmlError} objects to contain
+ * line numbers. Use the option to load line numbers at non-default
+ * places, e.g. at the end of an element
+ *
+ * @see XmlObject.Factory#parse(java.io.File, XmlOptions)
+ * @see XmlError
+ */
+ public XmlOptions setLoadLineNumbers (String option) {
+ XmlOptions temp = setLoadLineNumbers();
+ temp = temp.set( option );
+ return temp;
+ }
+
/**
* This option sets a map of namespace uri substitutions that happen
* when parsing a document.
@@ -743,6 +759,9 @@
public static final String LOAD_STRIP_PROCINSTS = "LOAD_STRIP_PROCINSTS";
/** @exclude */
public static final String LOAD_LINE_NUMBERS = "LOAD_LINE_NUMBERS";
+ /** @exclude */
+ public static final String LOAD_LINE_NUMBERS_END_ELEMENT= "LOAD_LINE_NUMBERS_END_ELEMENT";
+
/** @exclude */
public static final String LOAD_SUBSTITUTE_NAMESPACES = "LOAD_SUBSTITUTE_NAMESPACES";
/** @exclude */
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xmlbeans.apache.org
For additional commands, e-mail: commits-help@xmlbeans.apache.org