You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xalan.apache.org by jk...@apache.org on 2002/05/01 21:41:14 UTC
cvs commit: xml-xalan/java/src/org/apache/xml/dtm/ref/xni2dtm XNI2DTM.java
jkesselm 02/05/01 12:41:14
Modified: java/src/org/apache/xml/dtm/ref Tag: Xalan3
ExpandedNameTable.java
IncrementalSAXSource_Xerces.java
java/src/org/apache/xml/dtm/ref/xni2dtm Tag: Xalan3
XNI2DTM.java
Log:
Make sure current version checked in before I start experimenting with alternatives.
Revision Changes Path
No revision
No revision
1.3.10.2 +45 -10 xml-xalan/java/src/org/apache/xml/dtm/ref/ExpandedNameTable.java
Index: ExpandedNameTable.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/ExpandedNameTable.java,v
retrieving revision 1.3.10.1
retrieving revision 1.3.10.2
diff -u -r1.3.10.1 -r1.3.10.2
--- ExpandedNameTable.java 29 Apr 2002 17:49:32 -0000 1.3.10.1
+++ ExpandedNameTable.java 1 May 2002 19:41:14 -0000 1.3.10.2
@@ -168,7 +168,8 @@
namespace = "";
if (null == localName)
localName = "";
- for (int i = 0; i < m_extendedTypes.size(); i++)
+ int length=m_extendedTypes.size();
+ for (int i = 0; i < length; i++)
{
ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt(i);
if( type == etype.nodetype && namespace.equals(etype.namespace) && localName.equals(etype.localName))
@@ -221,7 +222,7 @@
* @param ExpandedNameID an ID that represents an expanded-name.
* @return The id of this local name.
*/
- public /*static*/ final int getLocalNameID(int ExpandedNameID)
+ public /*static*/ /*final*/ int getLocalNameID(int ExpandedNameID)
{
//return (ExpandedNameID & MASK_LOCALNAME);
ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt (ExpandedNameID);
@@ -254,7 +255,7 @@
* @param ExpandedNameID an ID that represents an expanded-name.
* @return The id of this namespace.
*/
- public /*static*/ final int getNamespaceID(int ExpandedNameID)
+ public /*static*/ /*final*/ int getNamespaceID(int ExpandedNameID)
{
//return (ExpandedNameID & MASK_NAMESPACE) >> BITS_PER_LOCALNAME;
ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt (ExpandedNameID);
@@ -270,24 +271,58 @@
* @param ExpandedNameID an ID that represents an expanded-name.
* @return The id of this local name.
*/
- public final short getType(int ExpandedNameID)
+ public /*final*/ short getType(int ExpandedNameID)
{
//return (short)(ExpandedNameID >> ROTAMOUNT_TYPE);
ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt (ExpandedNameID);
return (short)etype.nodetype;
}
+ /**
+ * Given an expanded-name ID, return the default schema type object
+ *
+ * @param ExpandedNameID an ID that represents an expanded-name.
+ * @return a schema type object -- probably an XNI PSVI type.
+ */
+ public /*final*/ Object getSchemaType(int ExpandedNameID)
+ {
+ ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt (ExpandedNameID);
+ return etype.schemaType;
+ }
+
+ /**
+ * Given an expanded-name ID, set the default schema type object if not
+ * previously set.
+ *
+ * @param ExpandedNameID an ID that represents an expanded-name.
+ * @param schemaType a schema type object -- probably an XNI PSVI type.
+ * @return false if previously set to something different
+ * (as determined by Object.equals), otherwise true.
+ */
+ public /*final*/ boolean getSchemaType(int ExpandedNameID, Object schemaType)
+ {
+ ExtendedType etype = (ExtendedType)m_extendedTypes.elementAt (ExpandedNameID);
+ Object oldtype=etype.schemaType;
+ if(oldtype==null)
+ {
+ etype.schemaType=schemaType;
+ return true;
+ }
+ else return oldtype.equals(schemaType);
+ }
+
/**
- * Private class representing an extended type object
+ * Inner class representing an extended type object.
*/
- private class ExtendedType
+ class ExtendedType
{
- private int nodetype;
- private String namespace;
- private String localName;
+ int nodetype;
+ String namespace;
+ String localName;
+ Object schemaType=null; // Default, for XNI PSVI support
- private ExtendedType (int nodetype, String namespace, String localName)
+ ExtendedType (int nodetype, String namespace, String localName)
{
this.nodetype = nodetype;
this.namespace = namespace;
1.8.6.4 +14 -1 xml-xalan/java/src/org/apache/xml/dtm/ref/IncrementalSAXSource_Xerces.java
Index: IncrementalSAXSource_Xerces.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/IncrementalSAXSource_Xerces.java,v
retrieving revision 1.8.6.3
retrieving revision 1.8.6.4
diff -u -r1.8.6.3 -r1.8.6.4
--- IncrementalSAXSource_Xerces.java 29 Apr 2002 16:07:40 -0000 1.8.6.3
+++ IncrementalSAXSource_Xerces.java 1 May 2002 19:41:14 -0000 1.8.6.4
@@ -191,6 +191,19 @@
}
catch(org.xml.sax.SAXNotRecognizedException e) {e.printStackTrace();}
catch(org.xml.sax.SAXNotSupportedException e) {e.printStackTrace();}
+
+ // %REVIEW% Turning on schema support is necessary for some
+ // of the information we'd like to retrieve. Unfortunately,
+ // XERCES currently slows down by 90% (ie, takes twice as
+ // long to run!) with this feature enabled, even if the
+ // document never references schemas. We could make this
+ // optional (resurrect the old -VALIDATE switch?), but it's
+ // really not clear we want the user to have to deal with
+ // manually setting this appropriately for every document.
+ // The default would have to be full validation, slow mode.
+ //
+ // I'm trying to convince Xerces that higher speed should be
+ // given higher priority.
try
{
fIncrementalParser.setFeature("http://apache.org/xml/features/validation/schema",true);
@@ -198,7 +211,7 @@
catch(org.xml.sax.SAXNotRecognizedException e) {e.printStackTrace();}
catch(org.xml.sax.SAXNotSupportedException e) {e.printStackTrace();}
- }
+ }
/** Create a IncrementalSAXSource_Xerces wrapped around
* an existing SAXParser. Currently this works only for recent
No revision
No revision
1.2.2.3 +62 -57 xml-xalan/java/src/org/apache/xml/dtm/ref/xni2dtm/Attic/XNI2DTM.java
Index: XNI2DTM.java
===================================================================
RCS file: /home/cvs/xml-xalan/java/src/org/apache/xml/dtm/ref/xni2dtm/Attic/XNI2DTM.java,v
retrieving revision 1.2.2.2
retrieving revision 1.2.2.3
diff -u -r1.2.2.2 -r1.2.2.3
--- XNI2DTM.java 18 Apr 2002 20:55:11 -0000 1.2.2.2
+++ XNI2DTM.java 1 May 2002 19:41:14 -0000 1.2.2.3
@@ -846,71 +846,76 @@
//String uri, String localName, String qName, Attributes attributes)
throws XNIException
{
- // %REVIEW% I've copied this verbatim and altered it for XNI.
- // Is that overkill? Can we hand any of it back to the SAX layer?
- // (I suspect not, darn it....)
+ // %REVIEW% I've copied this verbatim and altered it for XNI.
+ // Is that overkill? Can we hand any of it back to the SAX layer?
+ // (I suspect not, darn it....)
- // Extract Experimental Xerces PSVI data
- ElementPSVImpl elemPSVI=(ElementPSVImpl)augs.getItem(org.apache.xerces.impl.Constants.ELEMENT_PSVI);
- XSTypeDecl actualType =
+ // Augs might be null if schema support not turned on in parser.
+ // Shouldn't arise in final operation (?); may arise during debugging
+
+ if(augs!=null)
+ {
+ // Extract Experimental Xerces PSVI data
+ ElementPSVImpl elemPSVI=(ElementPSVImpl)augs.getItem(org.apache.xerces.impl.Constants.ELEMENT_PSVI);
+ XSTypeDecl actualType =
(elemPSVI==null) ? null : elemPSVI.getTypeDefinition();
- org.apache.xerces.impl.xs.XSElementDecl expectedDecl = // %REVIEW% OBSOLETE?
+ org.apache.xerces.impl.xs.XSElementDecl expectedDecl = // %REVIEW% OBSOLETE?
(elemPSVI==null) ? null : elemPSVI.getElementDecl();
- XSTypeDecl expectedType = // %REVIEW% OBSOLETE?
+ XSTypeDecl expectedType = // %REVIEW% OBSOLETE?
(expectedDecl==null) ? actualType : expectedDecl.fType;
- if (DEBUG)
- {
- System.out.println("startElement: uri: " + element.uri +
- ", localname: " + element.localpart +
- ", qname: "+element.rawname+", atts: " + attributes);
- String actualExpandedQName=(actualType==null) ? null : actualType.getTargetNamespace()+":"+actualType.getTypeName();
+ if (DEBUG)
+ {
+ System.out.println("startElement: uri: " + element.uri +
+ ", localname: " + element.localpart +
+ ", qname: "+element.rawname+", atts: " + attributes);
+ String actualExpandedQName=(actualType==null) ? null : actualType.getTargetNamespace()+":"+actualType.getTypeName();
- System.out.println("\ttypeDefinition (actual): "+ actualType +
- "\n\t\ttype expanded-qname: " + actualExpandedQName +
- "\n\telementDecl (expected): " + expectedDecl +
- "\n\tDerived from expected (after null recovery): " + actualType.derivedFrom(expectedType) +
- "\n\tDerived from builtin string: " + actualType.derivedFrom(SCHEMANS,"string")
- );
+ System.out.println("\ttypeDefinition (actual): "+ actualType +
+ "\n\t\ttype expanded-qname: " + actualExpandedQName +
+ "\n\telementDecl (expected): " + expectedDecl +
+ "\n\tDerived from expected (after null recovery): " + actualType.derivedFrom(expectedType) +
+ "\n\tDerived from builtin string: " + actualType.derivedFrom(SCHEMANS,"string")
+ );
- boolean DEBUG_ATTRS=true;
- if(DEBUG_ATTRS & attributes!=null)
- {
- int n = attributes.getLength();
- if(n==0)
- System.out.println("\tempty attribute list");
- else for (int i = 0; i < n; i++)
- {
- System.out.println("\t attr: uri: " + attributes.getURI(i) +
- ", localname: " + attributes.getLocalName(i) +
- ", qname: " + attributes.getQName(i) +
- ", type: " + attributes.getType(i) +
- ", value: " + attributes.getValue(i)
- );
- // Experimental Xerces PSVI data
- // %REVIEW% Having some problems; Sandy Gao is investigating
- Augmentations attrAugs=attributes.getAugmentations(i);
- AttributePSVImpl attrPSVI=(AttributePSVImpl)attrAugs.getItem(org.apache.xerces.impl.Constants.ATTRIBUTE_PSVI);
- actualType=(attrPSVI==null) ? null : attrPSVI.getTypeDefinition();
- org.apache.xerces.impl.xs.XSAttributeDecl expectedAttrDecl= // %REVIEW% Obsolete?
- (attrPSVI==null) ? null : attrPSVI.getAttributeDecl();
- expectedType=(expectedAttrDecl==null) ? actualType : expectedAttrDecl.fType;
- actualExpandedQName=(actualType==null) ? null : actualType.getTargetNamespace()+":"+actualType.getTypeName();
- System.out.println("\t\ttypeDefinition (actual): "+ actualType +
- "\n\t\t\ttype expanded-qname: " + actualExpandedQName +
- "\n\t\tattrDecl (expected): " + expectedAttrDecl
- );
- if(actualType!=null)
- System.out.println("\n\t\tDerived from expected (after null recovery): " + actualType.derivedFrom(expectedType) +
- "\n\t\tDerived from builtin string: "+ actualType.derivedFrom(SCHEMANS,"string") +
- "\n\t\tTyped value: " + _typedValue(actualType,attributes.getValue(i))
- );
- }
- }
- }
-
- charactersFlush();
+ boolean DEBUG_ATTRS=true;
+ if(DEBUG_ATTRS & attributes!=null)
+ {
+ int n = attributes.getLength();
+ if(n==0)
+ System.out.println("\tempty attribute list");
+ else for (int i = 0; i < n; i++)
+ {
+ System.out.println("\t attr: uri: " + attributes.getURI(i) +
+ ", localname: " + attributes.getLocalName(i) +
+ ", qname: " + attributes.getQName(i) +
+ ", type: " + attributes.getType(i) +
+ ", value: " + attributes.getValue(i)
+ );
+ // Experimental Xerces PSVI data
+ // %REVIEW% Having some problems; Sandy Gao is investigating
+ Augmentations attrAugs=attributes.getAugmentations(i);
+ AttributePSVImpl attrPSVI=(AttributePSVImpl)attrAugs.getItem(org.apache.xerces.impl.Constants.ATTRIBUTE_PSVI);
+ actualType=(attrPSVI==null) ? null : attrPSVI.getTypeDefinition();
+ org.apache.xerces.impl.xs.XSAttributeDecl expectedAttrDecl= // %REVIEW% Obsolete?
+ (attrPSVI==null) ? null : attrPSVI.getAttributeDecl();
+ expectedType=(expectedAttrDecl==null) ? actualType : expectedAttrDecl.fType;
+ actualExpandedQName=(actualType==null) ? null : actualType.getTargetNamespace()+":"+actualType.getTypeName();
+ System.out.println("\t\ttypeDefinition (actual): "+ actualType +
+ "\n\t\t\ttype expanded-qname: " + actualExpandedQName +
+ "\n\t\tattrDecl (expected): " + expectedAttrDecl
+ );
+ if(actualType!=null)
+ System.out.println("\n\t\tDerived from expected (after null recovery): " + actualType.derivedFrom(expectedType) +
+ "\n\t\tDerived from builtin string: "+ actualType.derivedFrom(SCHEMANS,"string") +
+ "\n\t\tTyped value: " + _typedValue(actualType,attributes.getValue(i))
+ );
+ }
+ }
+ }
+ }
+ charactersFlush();
int exName = m_expandedNameTable.getExpandedTypeID(element.uri, element.localpart, DTM.ELEMENT_NODE);
String prefix = getPrefix(element.rawname, element.uri);
---------------------------------------------------------------------
To unsubscribe, e-mail: xalan-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xalan-cvs-help@xml.apache.org