You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by mr...@apache.org on 2010/07/12 14:48:37 UTC
svn commit: r963267 - in
/xerces/java/trunk/src/org/apache/xerces/impl/xs/opti: SchemaDOM.java
SchemaDOMParser.java
Author: mrglavas
Date: Mon Jul 12 12:48:37 2010
New Revision: 963267
URL: http://svn.apache.org/viewvc?rev=963267&view=rev
Log:
Eliminate unnecessary creation of XNI QNames in the construction of synthetic annotations.
Modified:
xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOM.java
xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOMParser.java
Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOM.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOM.java?rev=963267&r1=963266&r2=963267&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOM.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOM.java Mon Jul 12 12:48:37 2010
@@ -213,12 +213,20 @@ public class SchemaDOM extends DefaultDo
}
void endAnnotationElement(QName elemName) {
- fAnnotationBuffer.append("</").append(elemName.rawname).append(">");
+ endAnnotationElement(elemName.rawname);
+ }
+
+ void endAnnotationElement(String elemRawName) {
+ fAnnotationBuffer.append("</").append(elemRawName).append(">");
}
void endSyntheticAnnotationElement(QName elemName, boolean complete) {
+ endSyntheticAnnotationElement(elemName.rawname, complete);
+ }
+
+ void endSyntheticAnnotationElement(String elemRawName, boolean complete) {
if(complete) {
- fAnnotationBuffer.append("\n</").append(elemName.rawname).append(">");
+ fAnnotationBuffer.append("\n</").append(elemRawName).append(">");
// note that this is always called after endElement on <annotation>'s
// child and before endElement on annotation.
// hence, we must make this the child of the current
@@ -229,7 +237,7 @@ public class SchemaDOM extends DefaultDo
// these things
fAnnotationBuffer = null;
} else //capturing character calls
- fAnnotationBuffer.append("</").append(elemName.rawname).append(">");
+ fAnnotationBuffer.append("</").append(elemRawName).append(">");
}
void startAnnotationCDATA() {
@@ -338,8 +346,12 @@ public class SchemaDOM extends DefaultDo
// commence the serialization of an annotation
void startAnnotation(QName elemName, XMLAttributes attributes,
NamespaceContext namespaceContext) {
+ startAnnotation(elemName.rawname, attributes, namespaceContext);
+ }
+ void startAnnotation(String elemRawName, XMLAttributes attributes,
+ NamespaceContext namespaceContext) {
if(fAnnotationBuffer == null) fAnnotationBuffer = new StringBuffer(256);
- fAnnotationBuffer.append("<").append(elemName.rawname).append(" ");
+ fAnnotationBuffer.append("<").append(elemRawName).append(" ");
// attributes are a bit of a pain. To get this right, we have to keep track
// of the namespaces we've seen declared, then examine the namespace context
@@ -380,7 +392,10 @@ public class SchemaDOM extends DefaultDo
fAnnotationBuffer.append(">\n");
}
void startAnnotationElement(QName elemName, XMLAttributes attributes) {
- fAnnotationBuffer.append("<").append(elemName.rawname);
+ startAnnotationElement(elemName.rawname, attributes);
+ }
+ void startAnnotationElement(String elemRawName, XMLAttributes attributes) {
+ fAnnotationBuffer.append("<").append(elemRawName);
for(int i=0; i<attributes.getLength(); i++) {
String aValue = attributes.getValue(i);
fAnnotationBuffer.append(" ").append(attributes.getQName(i)).append("=\"").append(processAttValue(aValue)).append("\"");
Modified: xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOMParser.java
URL: http://svn.apache.org/viewvc/xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOMParser.java?rev=963267&r1=963266&r2=963267&view=diff
==============================================================================
--- xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOMParser.java (original)
+++ xerces/java/trunk/src/org/apache/xerces/impl/xs/opti/SchemaDOMParser.java Mon Jul 12 12:48:37 2010
@@ -294,13 +294,13 @@ public class SchemaDOMParser extends Def
attributes.removeAllAttributes();
String schemaPrefix = fNamespaceContext.getPrefix(SchemaSymbols.URI_SCHEMAFORSCHEMA);
- QName annQName = new QName(schemaPrefix, SchemaSymbols.ELT_ANNOTATION, schemaPrefix + (schemaPrefix.length() == 0?"":":") + SchemaSymbols.ELT_ANNOTATION, SchemaSymbols.URI_SCHEMAFORSCHEMA);
- schemaDOM.startAnnotation(annQName, attributes, fNamespaceContext);
- QName elemQName = new QName(schemaPrefix, SchemaSymbols.ELT_DOCUMENTATION, schemaPrefix + (schemaPrefix.length() == 0?"":":") + SchemaSymbols.ELT_DOCUMENTATION, SchemaSymbols.URI_SCHEMAFORSCHEMA);
- schemaDOM.startAnnotationElement(elemQName, attributes);
+ final String annRawName = (schemaPrefix.length() == 0) ? SchemaSymbols.ELT_ANNOTATION : (schemaPrefix + ':' + SchemaSymbols.ELT_ANNOTATION);
+ schemaDOM.startAnnotation(annRawName, attributes, fNamespaceContext);
+ final String elemRawName = (schemaPrefix.length() == 0) ? SchemaSymbols.ELT_DOCUMENTATION : (schemaPrefix + ':' + SchemaSymbols.ELT_DOCUMENTATION);
+ schemaDOM.startAnnotationElement(elemRawName, attributes);
schemaDOM.charactersRaw("SYNTHETIC_ANNOTATION");
- schemaDOM.endSyntheticAnnotationElement(elemQName, false);
- schemaDOM.endSyntheticAnnotationElement(annQName, true);
+ schemaDOM.endSyntheticAnnotationElement(elemRawName, false);
+ schemaDOM.endSyntheticAnnotationElement(annRawName, true);
schemaDOM.endElement();
@@ -377,13 +377,13 @@ public class SchemaDOMParser extends Def
boolean sawann = fSawAnnotation.pop();
if (value && !sawann) {
String schemaPrefix = fNamespaceContext.getPrefix(SchemaSymbols.URI_SCHEMAFORSCHEMA);
- QName annQName = new QName(schemaPrefix, SchemaSymbols.ELT_ANNOTATION, schemaPrefix + (schemaPrefix.length() == 0?"":":") + SchemaSymbols.ELT_ANNOTATION, SchemaSymbols.URI_SCHEMAFORSCHEMA);
- schemaDOM.startAnnotation(annQName, fEmptyAttr, fNamespaceContext);
- QName elemQName = new QName(schemaPrefix, SchemaSymbols.ELT_DOCUMENTATION, schemaPrefix + (schemaPrefix.length() == 0?"":":") + SchemaSymbols.ELT_DOCUMENTATION, SchemaSymbols.URI_SCHEMAFORSCHEMA);
- schemaDOM.startAnnotationElement(elemQName, fEmptyAttr);
+ final String annRawName = (schemaPrefix.length() == 0) ? SchemaSymbols.ELT_ANNOTATION : (schemaPrefix + ':' + SchemaSymbols.ELT_ANNOTATION);
+ schemaDOM.startAnnotation(annRawName, fEmptyAttr, fNamespaceContext);
+ final String elemRawName = (schemaPrefix.length() == 0) ? SchemaSymbols.ELT_DOCUMENTATION : (schemaPrefix + ':' + SchemaSymbols.ELT_DOCUMENTATION);
+ schemaDOM.startAnnotationElement(elemRawName, fEmptyAttr);
schemaDOM.charactersRaw("SYNTHETIC_ANNOTATION");
- schemaDOM.endSyntheticAnnotationElement(elemQName, false);
- schemaDOM.endSyntheticAnnotationElement(annQName, true);
+ schemaDOM.endSyntheticAnnotationElement(elemRawName, false);
+ schemaDOM.endSyntheticAnnotationElement(annRawName, true);
}
}
schemaDOM.endElement();
---------------------------------------------------------------------
To unsubscribe, e-mail: commits-unsubscribe@xerces.apache.org
For additional commands, e-mail: commits-help@xerces.apache.org