You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@xerces.apache.org by pe...@apache.org on 2003/07/31 19:14:27 UTC

cvs commit: xml-xerces/c/src/xercesc/validators/schema SchemaValidator.cpp SubstitutionGroupComparator.cpp TraverseSchema.cpp XMLSchemaDescriptionImpl.cpp XMLSchemaDescriptionImpl.hpp

peiyongz    2003/07/31 10:14:27

  Modified:    c/src/xercesc/validators/schema SchemaValidator.cpp
                        SubstitutionGroupComparator.cpp TraverseSchema.cpp
                        XMLSchemaDescriptionImpl.cpp
                        XMLSchemaDescriptionImpl.hpp
  Log:
  Grammar embed grammar description
  
  Revision  Changes    Path
  1.35      +7 -8      xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp
  
  Index: SchemaValidator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SchemaValidator.cpp,v
  retrieving revision 1.34
  retrieving revision 1.35
  diff -u -r1.34 -r1.35
  --- SchemaValidator.cpp	25 Jun 2003 22:38:18 -0000	1.34
  +++ SchemaValidator.cpp	31 Jul 2003 17:14:27 -0000	1.35
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.35  2003/07/31 17:14:27  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.34  2003/06/25 22:38:18  peiyongz
    * to use new GrammarResolver::getGrammar()
    *
  @@ -793,9 +796,7 @@
   
               // retrieve Grammar for the uri
               const XMLCh* uriStr = getScanner()->getURIText(uri);
  -            XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -            Janitor<XMLSchemaDescription> janName(gramDesc);
  -            SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +            SchemaGrammar* sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(uriStr);
               if (!sGrammar) {
   
                   // Check built-in simple types
  @@ -993,10 +994,10 @@
       //  And enumerate all the complextype info in the grammar
       //    and do Unique Particle Attribution Checking
   
  -    RefHashTableOfEnumerator<GrammarEntry> grammarEnum = fGrammarResolver->getGrammarEnumerator();
  +    RefHashTableOfEnumerator<Grammar> grammarEnum = fGrammarResolver->getGrammarEnumerator();
       while (grammarEnum.hasMoreElements())
       {
  -        SchemaGrammar& sGrammar = (SchemaGrammar&) *(grammarEnum.nextElement().getGrammar());
  +        SchemaGrammar& sGrammar = (SchemaGrammar&) grammarEnum.nextElement();
           if (sGrammar.getGrammarType() != Grammar::SchemaGrammarType || sGrammar.getValidated())
                continue;
   
  @@ -1697,9 +1698,7 @@
       const XMLCh* schemaURI = getScanner()->getURIStringPool()->getValueForId(derivedURI);
   
       if (derivedURI != getScanner()->getEmptyNamespaceId()) {
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(schemaURI);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        aGrammar= (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +        aGrammar= (SchemaGrammar*) fGrammarResolver->getGrammar(schemaURI);
       }
   
       if (!aGrammar) { //something is wrong
  
  
  
  1.8       +4 -3      xml-xerces/c/src/xercesc/validators/schema/SubstitutionGroupComparator.cpp
  
  Index: SubstitutionGroupComparator.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/SubstitutionGroupComparator.cpp,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- SubstitutionGroupComparator.cpp	25 Jun 2003 22:38:18 -0000	1.7
  +++ SubstitutionGroupComparator.cpp	31 Jul 2003 17:14:27 -0000	1.8
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.8  2003/07/31 17:14:27  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.7  2003/06/25 22:38:18  peiyongz
    * to use new GrammarResolver::getGrammar()
    *
  @@ -164,9 +167,7 @@
       if (!uri)
           return false;
   
  -    XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uri);
  -    Janitor<XMLSchemaDescription> janName(gramDesc);
  -    SchemaGrammar *sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +    SchemaGrammar *sGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(uri);
       if (!sGrammar || sGrammar->getGrammarType() == Grammar::DTDGrammarType)
           return false;
   
  
  
  
  1.84      +29 -52    xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp
  
  Index: TraverseSchema.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/TraverseSchema.cpp,v
  retrieving revision 1.83
  retrieving revision 1.84
  diff -u -r1.83 -r1.84
  --- TraverseSchema.cpp	10 Jul 2003 19:58:57 -0000	1.83
  +++ TraverseSchema.cpp	31 Jul 2003 17:14:27 -0000	1.84
  @@ -380,12 +380,14 @@
       fTargetNSURIString = fSchemaGrammar->getTargetNamespace();
       fTargetNSURI = fURIStringPool->addOrFind(fTargetNSURIString);
   
  -    XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(fTargetNSURIString);
  -    fGrammarResolver->putGrammar(gramDesc, fSchemaGrammar);
  +    XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) fSchemaGrammar->getGrammarDescription();       
  +    gramDesc->setTargetNamespace(fTargetNSURIString);
  +
  +    fGrammarResolver->putGrammar(fSchemaGrammar);
       fAttributeCheck.setIDRefList(fSchemaGrammar->getIDRefList());
   
       // Save current schema info
  -    SchemaInfo* currInfo = new (fGrammarPoolMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
  +    SchemaInfo* currInfo = new (fMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
                                             fNamespaceScope->increaseDepth(),
                                             XMLString::replicate(schemaURL, fGrammarPoolMemoryManager),
                                             fTargetNSURIString, schemaRoot,
  @@ -576,7 +578,7 @@
               // --------------------------------------------------------
               SchemaInfo* saveInfo = fSchemaInfo;
   
  -            fSchemaInfo = new (fGrammarPoolMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
  +            fSchemaInfo = new (fMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
                                            fNamespaceScope->increaseDepth(),
                                            XMLString::replicate(includeURL, fGrammarPoolMemoryManager),
                                            fTargetNSURIString, root,
  @@ -660,6 +662,8 @@
       {
           XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(nameSpace);
           Janitor<XMLSchemaDescription> janName(gramDesc);
  +        gramDesc->setContextType(XMLSchemaDescription::CONTEXT_IMPORT);
  +        gramDesc->setLocationHints(getElementAttValue(elem, SchemaSymbols::fgATT_SCHEMALOCATION));
           aGrammar = fGrammarResolver->getGrammar(gramDesc);
       }
   
  @@ -756,6 +760,10 @@
               // --------------------------------------------------------
               SchemaInfo* saveInfo = fSchemaInfo;            
               fSchemaGrammar = new (fGrammarPoolMemoryManager) SchemaGrammar(fGrammarPoolMemoryManager);
  +            XMLSchemaDescription* gramDesc = (XMLSchemaDescription*) fSchemaGrammar->getGrammarDescription();
  +            gramDesc->setContextType(XMLSchemaDescription::CONTEXT_IMPORT);
  +            gramDesc->setLocationHints(importURL);
  +
               preprocessSchema(root, importURL);
               fPreprocessedNodes->put((void*) elem, fSchemaInfo);
   
  @@ -1633,9 +1641,7 @@
       // ------------------------------------------------------------------
       // Get grammar information
       // ------------------------------------------------------------------
  -    XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -    Janitor<XMLSchemaDescription> janName(gramDesc);
  -    Grammar* aGrammar = fGrammarResolver->getGrammar(gramDesc);
  +    Grammar* aGrammar = fGrammarResolver->getGrammar(uriStr);
   
       if (!aGrammar || aGrammar->getGrammarType() != Grammar::SchemaGrammarType) {
   
  @@ -2545,9 +2551,7 @@
   
                               if (!subsElements && fTargetNSURI != subsElemURI) {
   
  -                                XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(fURIStringPool->getValueForId(subsElemURI));
  -                                Janitor<XMLSchemaDescription> janName(gramDesc);
  -                                SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +                                SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(fURIStringPool->getValueForId(subsElemURI));
   
                                   if (aGrammar) {
                                       subsElements = aGrammar->getValidSubstitutionGroups()->get(subsElemBaseName, subsElemURI);
  @@ -2578,9 +2582,7 @@
                               while (importingEnum.hasMoreElements()) {
   
                                   const SchemaInfo& curRef = importingEnum.nextElement();
  -                                XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(curRef.getTargetNSURIString());
  -                                Janitor<XMLSchemaDescription> janName(gramDesc);
  -                                SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +                                SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(curRef.getTargetNSURIString());
                                   ValueVectorOf<SchemaElementDecl*>* subsElemList =
                                       aGrammar->getValidSubstitutionGroups()->get(subsElemBaseName, subsElemURI);
   
  @@ -2809,9 +2811,7 @@
               return 0;
           }
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
  +        Grammar* grammar = fGrammarResolver->getGrammar(uriStr);
   
           if (grammar == 0 || grammar->getGrammarType() != Grammar::SchemaGrammarType) {
   
  @@ -4483,9 +4483,7 @@
   
           if ((uriStr && *uriStr) && !XMLString::equals(uriStr, fTargetNSURIString)) {
   
  -            XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -            Janitor<XMLSchemaDescription> janName(gramDesc);
  -            Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
  +            Grammar* grammar = fGrammarResolver->getGrammar(uriStr);
   
               if (grammar && grammar->getGrammarType() == Grammar::SchemaGrammarType) {
                   dv = ((SchemaGrammar*) grammar)->getDatatypeRegistry()->getDatatypeValidator(fBuffer.getRawBuffer());
  @@ -5006,9 +5004,7 @@
           if (!fSchemaInfo->isImportingNS(uriId))
               return 0;
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(typeURI);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        Grammar* aGrammar = fGrammarResolver->getGrammar(gramDesc);
  +        Grammar* aGrammar = fGrammarResolver->getGrammar(typeURI);
   
           if (!aGrammar || aGrammar->getGrammarType() != Grammar::SchemaGrammarType) {
               return 0;
  @@ -5083,9 +5079,7 @@
                                                        0, Grammar::TOP_LEVEL_SCOPE, wasAdded);
           }
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(nameURI);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
  +        Grammar* grammar = fGrammarResolver->getGrammar(nameURI);
   
           if (grammar && grammar->getGrammarType() == Grammar::SchemaGrammarType) {
               elemDecl = (SchemaElementDecl*)
  @@ -5385,9 +5379,7 @@
               return;
           }
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
  +        Grammar* grammar = fGrammarResolver->getGrammar(uriStr);
   
           if (grammar == 0 || grammar->getGrammarType() != Grammar::SchemaGrammarType) {
   
  @@ -6088,9 +6080,7 @@
                                                      const XMLCh* const localPart)
   {
   
  -    XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -    Janitor<XMLSchemaDescription> janName(gramDesc);
  -    Grammar* grammar = fGrammarResolver->getGrammar(gramDesc);
  +    Grammar* grammar = fGrammarResolver->getGrammar(uriStr);
   
       if (grammar != 0 && grammar->getGrammarType() == Grammar::SchemaGrammarType) {
   
  @@ -6398,9 +6388,7 @@
   
           int targetNSURI = toRestore->getTargetNSURI();
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(toRestore->getTargetNSURIString());
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        fSchemaGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +        fSchemaGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(toRestore->getTargetNSURIString());
   
           if (!fSchemaGrammar) {
               return;
  @@ -6496,9 +6484,7 @@
                   break; // an error must have occured
               }
   
  -            XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(fURIStringPool->getValueForId(chainElemURI));
  -            Janitor<XMLSchemaDescription> janName(gramDesc);
  -            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(fURIStringPool->getValueForId(chainElemURI));
   
               if (!aGrammar)
                   break;
  @@ -6527,9 +6513,7 @@
           while (importingEnum.hasMoreElements()) {
   
               const SchemaInfo& curRef = importingEnum.nextElement();
  -            XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(curRef.getTargetNSURIString());
  -            Janitor<XMLSchemaDescription> janName(gramDesc);
  -            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(curRef.getTargetNSURIString());
               ValueVectorOf<SchemaElementDecl*>* subsElemList =
                   aGrammar->getValidSubstitutionGroups()->get(chainElemName, chainElemURI);
   
  @@ -6563,9 +6547,7 @@
                   return; // an error must have occured
               }
   
  -            XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(fURIStringPool->getValueForId(subsElemURI));
  -            Janitor<XMLSchemaDescription> janName(gramDesc);
  -            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(gramDesc);
  +            SchemaGrammar* aGrammar = (SchemaGrammar*) fGrammarResolver->getGrammar(fURIStringPool->getValueForId(subsElemURI));
   
               if (!aGrammar)
                   return;
  @@ -6651,9 +6633,7 @@
               return 0;
           }
   
  -        XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(uriStr);
  -        Janitor<XMLSchemaDescription> janName(gramDesc);
  -        Grammar* aGrammar = fGrammarResolver->getGrammar(gramDesc);
  +        Grammar* aGrammar = fGrammarResolver->getGrammar(uriStr);
   
           if (!aGrammar || aGrammar->getGrammarType() != Grammar::SchemaGrammarType) {
   
  @@ -6837,10 +6817,7 @@
               if (elemScope != Grammar::TOP_LEVEL_SCOPE) {
   
                   if (elemURI != fTargetNSURI && elemURI != schemaURI && elemURI != fEmptyNamespaceURI) {
  -
  -                    XMLSchemaDescription* gramDesc = fGrammarResolver->getGrammarPool()->createSchemaDescription(fURIStringPool->getValueForId(elemURI));
  -                    Janitor<XMLSchemaDescription> janName(gramDesc);
  -                    Grammar* aGrammar = fGrammarResolver->getGrammar(gramDesc);
  +                    Grammar* aGrammar = fGrammarResolver->getGrammar(fURIStringPool->getValueForId(elemURI));
   
                       if (!aGrammar || aGrammar->getGrammarType() != Grammar::SchemaGrammarType) {
                           continue; // REVISIT - error message
  @@ -7624,7 +7601,7 @@
           // Update schema information with redefined schema
           // --------------------------------------------------------
           redefSchemaInfo = fSchemaInfo;
  -        fSchemaInfo = new (fGrammarPoolMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
  +        fSchemaInfo = new (fMemoryManager) SchemaInfo(0, 0, 0, fTargetNSURI, fScopeCount,
                                        fNamespaceScope->increaseDepth(),
                                        XMLString::replicate(includeURL, fGrammarPoolMemoryManager),
                                        fTargetNSURIString, root,
  
  
  
  1.3       +15 -16    xml-xerces/c/src/xercesc/validators/schema/XMLSchemaDescriptionImpl.cpp
  
  Index: XMLSchemaDescriptionImpl.cpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XMLSchemaDescriptionImpl.cpp,v
  retrieving revision 1.2
  retrieving revision 1.3
  diff -u -r1.2 -r1.3
  --- XMLSchemaDescriptionImpl.cpp	20 Jun 2003 22:19:12 -0000	1.2
  +++ XMLSchemaDescriptionImpl.cpp	31 Jul 2003 17:14:27 -0000	1.3
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.3  2003/07/31 17:14:27  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.2  2003/06/20 22:19:12  peiyongz
    * Stateless Grammar Pool :: Part I
    *
  @@ -71,6 +74,7 @@
   //  Includes
   // ---------------------------------------------------------------------------
   #include <xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp>
  +#include <xercesc/util/QName.hpp>
   
   XERCES_CPP_NAMESPACE_BEGIN
   
  @@ -90,8 +94,10 @@
       if (targetNamespace)
           fNamespace = XMLString::replicate(targetNamespace, memMgr);
   
  +
  +    fLocationHints =  new (memMgr) RefArrayVectorOf<XMLCh>(4, true, memMgr);
  +
       /***
  -        fLocationHints
           fAttributes
       ***/
   }
  @@ -110,9 +116,6 @@
       if (fEnclosingElementName)
           delete fEnclosingElementName;
   
  -    if (fAttributes)
  -        delete fAttributes;
  -
   }
   
   const XMLCh* XMLSchemaDescriptionImpl::getGrammarKey() const
  @@ -163,12 +166,9 @@
       fNamespace = XMLString::replicate(newNamespace, XMLGrammarDescription::getMemoryManager()); 
   }
   
  -void XMLSchemaDescriptionImpl::setLocationHints(RefArrayVectorOf<XMLCh> *hints)
  -{  
  -    if (fLocationHints)
  -        delete fLocationHints;
  -                                
  -    fLocationHints = hints; 
  +void XMLSchemaDescriptionImpl::setLocationHints(const XMLCh* const hint)
  +{    
  +    fLocationHints->addElement(XMLString::replicate(hint, XMLGrammarDescription::getMemoryManager())); 
   }
   
   void XMLSchemaDescriptionImpl::setTriggeringComponent(QName* const trigComponent)
  @@ -176,7 +176,7 @@
       if ( fTriggeringComponent)
           delete fTriggeringComponent;
                                   
  -    fTriggeringComponent = trigComponent; 
  +    fTriggeringComponent = new QName(*trigComponent); 
   
   }
   
  @@ -185,15 +185,14 @@
       if (fEnclosingElementName)
           delete fEnclosingElementName;
                                    
  -    fEnclosingElementName = encElement; 
  +    fEnclosingElementName = new QName(*encElement); 
   
   }
   
   void XMLSchemaDescriptionImpl::setAttributes(XMLAttDef* const attDefs)
   { 
  -    if (fAttributes)
  -        delete fAttributes;
  -                             
  +    // XMLAttDef is part of the grammar that this description refers to
  +    // so we reference to it instead of adopting/owning/cloning.
       fAttributes = attDefs; 
   }
   
  
  
  
  1.2       +11 -8     xml-xerces/c/src/xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp
  
  Index: XMLSchemaDescriptionImpl.hpp
  ===================================================================
  RCS file: /home/cvs/xml-xerces/c/src/xercesc/validators/schema/XMLSchemaDescriptionImpl.hpp,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- XMLSchemaDescriptionImpl.hpp	20 Jun 2003 18:40:29 -0000	1.1
  +++ XMLSchemaDescriptionImpl.hpp	31 Jul 2003 17:14:27 -0000	1.2
  @@ -56,6 +56,9 @@
   
   /*
    * $Log$
  + * Revision 1.2  2003/07/31 17:14:27  peiyongz
  + * Grammar embed grammar description
  + *
    * Revision 1.1  2003/06/20 18:40:29  peiyongz
    * Stateless Grammar Pool :: Part I
    *
  @@ -156,7 +159,7 @@
         * setLocationHints
         *
         */	
  -    virtual void                   setLocationHints(RefArrayVectorOf<XMLCh>* const);
  +    virtual void                   setLocationHints(const XMLCh* const);
   
       /**
         * setTriggeringComponent
  @@ -195,15 +198,15 @@
       //
       //  fContextType  
       //
  -    //  fNamespace
  +    //  fNamespace            owned
       //
  -    //  fLocationHints
  +    //  fLocationHints        owned
       //
  -    //  fTriggeringComponent
  +    //  fTriggeringComponent  owned
       //
  -    //  fEnclosingElementName
  +    //  fEnclosingElementName owned
       //                       
  -    //  fAttributes
  +    //  fAttributes           referenced
       //
       // -----------------------------------------------------------------------
   
  
  
  

---------------------------------------------------------------------
To unsubscribe, e-mail: xerces-cvs-unsubscribe@xml.apache.org
For additional commands, e-mail: xerces-cvs-help@xml.apache.org