secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IGXMLScanner.hpp
changeset 4 3eebb1e54d3a
parent 3 127731b7107d
child 5 aba6b8104af3
--- a/secureswitools/swisistools/source/xmlparser/xerces/include/xercesc/internal/IGXMLScanner.hpp	Fri Jan 22 09:56:12 2010 +0200
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,326 +0,0 @@
-/*
- * Licensed to the Apache Software Foundation (ASF) under one or more
- * contributor license agreements.  See the NOTICE file distributed with
- * this work for additional information regarding copyright ownership.
- * The ASF licenses this file to You under the Apache License, Version 2.0
- * (the "License"); you may not use this file except in compliance with
- * the License.  You may obtain a copy of the License at
- * 
- *      http://www.apache.org/licenses/LICENSE-2.0
- * 
- * Unless required by applicable law or agreed to in writing, software
- * distributed under the License is distributed on an "AS IS" BASIS,
- * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
- * See the License for the specific language governing permissions and
- * limitations under the License.
- */
-
-/*
- * $Id: IGXMLScanner.hpp 568078 2007-08-21 11:43:25Z amassari $
- */
-
-
-#if !defined(IGXMLSCANNER_HPP)
-#define IGXMLSCANNER_HPP
-
-#include <xercesc/internal/XMLScanner.hpp>
-#include <xercesc/util/KVStringPair.hpp>
-#include <xercesc/util/NameIdPool.hpp>
-#include <xercesc/util/RefHash3KeysIdPool.hpp>
-#include <xercesc/validators/common/Grammar.hpp>
-#include <xercesc/validators/schema/SchemaElementDecl.hpp>
-
-XERCES_CPP_NAMESPACE_BEGIN
-
-class DTDElementDecl;
-class DTDGrammar;
-class DTDValidator;
-class SchemaValidator;
-class IdentityConstraintHandler;
-class IdentityConstraint;
-class ContentLeafNameTypeVector;
-class SchemaAttDef;
-class XMLContentModel;
-class XSModel;
-class PSVIAttributeList;
-class PSVIElement;
-
-//  This is an integrated scanner class, which does DTD/XML Schema grammar
-//  processing.
-class XMLPARSER_EXPORT IGXMLScanner : public XMLScanner
-{
-public :
-    // -----------------------------------------------------------------------
-    //  Constructors and Destructor
-    // -----------------------------------------------------------------------
-    IGXMLScanner
-    (
-        XMLValidator* const valToAdopt
-        , GrammarResolver* const grammarResolver
-        , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager
-    );
-    IGXMLScanner
-    (
-          XMLDocumentHandler* const docHandler
-        , DocTypeHandler* const     docTypeHandler
-        , XMLEntityHandler* const   entityHandler
-        , XMLErrorReporter* const   errReporter
-        , XMLValidator* const       valToAdopt
-        , GrammarResolver* const    grammarResolver
-        , MemoryManager* const      manager = XMLPlatformUtils::fgMemoryManager
-    );
-    virtual ~IGXMLScanner();
-
-    // -----------------------------------------------------------------------
-    //  XMLScanner public virtual methods
-    // -----------------------------------------------------------------------
-    virtual const XMLCh* getName() const;
-    virtual NameIdPool<DTDEntityDecl>* getEntityDeclPool();
-    virtual const NameIdPool<DTDEntityDecl>* getEntityDeclPool() const;
-    virtual unsigned int resolveQName
-    (
-        const   XMLCh* const        qName
-        ,       XMLBuffer&          prefixBufToFill
-        , const short               mode
-        ,       int&                prefixColonPos
-    );
-    virtual void scanDocument
-    (
-        const   InputSource&    src
-    );
-    virtual bool scanNext(XMLPScanToken& toFill);
-    virtual Grammar* loadGrammar
-    (
-        const   InputSource&    src
-        , const short           grammarType
-        , const bool            toCache = false
-    );
-
-    virtual Grammar::GrammarType getCurrentGrammarType() const;
-
-private :
-    // -----------------------------------------------------------------------
-    //  Unimplemented constructors and operators
-    // -----------------------------------------------------------------------
-    IGXMLScanner();
-    IGXMLScanner(const IGXMLScanner&);
-    IGXMLScanner& operator=(const IGXMLScanner&);
-
-    // -----------------------------------------------------------------------
-    //  XMLScanner virtual methods
-    // -----------------------------------------------------------------------
-    virtual void scanCDSection();
-    virtual void scanCharData(XMLBuffer& toToUse);
-    virtual EntityExpRes scanEntityRef
-    (
-        const   bool    inAttVal
-        ,       XMLCh&  firstCh
-        ,       XMLCh&  secondCh
-        ,       bool&   escaped
-    );
-    virtual void scanDocTypeDecl();
-    virtual void scanReset(const InputSource& src);
-    virtual void sendCharData(XMLBuffer& toSend);
-    virtual InputSource* resolveSystemId(const XMLCh* const sysId
-                                        ,const XMLCh* const pubId);
-
-    // -----------------------------------------------------------------------
-    //  Private helper methods
-    // -----------------------------------------------------------------------
-    void commonInit();
-    void cleanUp();
-
-    unsigned int buildAttList
-    (
-        const   RefVectorOf<KVStringPair>&  providedAttrs
-        , const unsigned int                attCount
-        ,       XMLElementDecl*             elemDecl
-        ,       RefVectorOf<XMLAttr>&       toFill
-    );
-    bool normalizeAttValue
-    (
-        const   XMLAttDef* const    attDef
-        , const XMLCh* const       name 
-        , const XMLCh* const        value
-        ,       XMLBuffer&          toFill
-    );
-    bool normalizeAttRawValue
-    (
-        const   XMLCh* const        attrName
-        , const XMLCh* const        value
-        ,       XMLBuffer&          toFill
-    );
-    unsigned int resolvePrefix
-    (
-        const   XMLCh* const        prefix
-        , const ElemStack::MapModes mode
-    );
-    unsigned int resolvePrefix
-    (
-        const   XMLCh* const        prefix
-        ,       XMLBuffer&          uriBufToFill
-        , const ElemStack::MapModes mode
-    );
-    void updateNSMap
-    (
-        const   XMLCh* const    attrName
-        , const XMLCh* const    attrValue        
-    );
-    void updateNSMap
-    (
-        const   XMLCh* const    attrName
-        , const XMLCh* const    attrValue
-        , const int             colonPosition
-    );
-    void scanRawAttrListforNameSpaces(int attCount);
-    void parseSchemaLocation(const XMLCh* const schemaLocationStr);
-    void resolveSchemaGrammar(const XMLCh* const loc, const XMLCh* const uri);
-    bool switchGrammar(const XMLCh* const newGrammarNameSpace);
-    bool laxElementValidation(QName* element, ContentLeafNameTypeVector* cv,
-                              const XMLContentModel* const cm,
-                              const unsigned int parentElemDepth);
-    bool anyAttributeValidation(SchemaAttDef* attWildCard,
-                                unsigned int uriId,
-                                bool& skipThisOne,
-                                bool& laxThisOne);
-    void resizeElemState();
-    void processSchemaLocation(XMLCh* const schemaLoc);
-
-    void resizeRawAttrColonList();
-
-    unsigned int resolveQNameWithColon
-    (
-        const   XMLCh* const        qName
-        ,       XMLBuffer&          prefixBufToFill
-        , const short               mode
-        , const int                 prefixColonPos
-    );
-    // -----------------------------------------------------------------------
-    //  Private scanning methods
-    // -----------------------------------------------------------------------
-    bool basicAttrValueScan
-    (
-        const   XMLCh* const    attrName
-        ,       XMLBuffer&      toFill
-    );
-    unsigned int rawAttrScan
-    (
-        const   XMLCh* const                elemName
-        ,       RefVectorOf<KVStringPair>&  toFill
-        ,       bool&                       isEmpty
-    );
-    bool scanAttValue
-    (
-        const   XMLAttDef* const    attDef
-        , const   XMLCh* const      attrName
-        ,       XMLBuffer&          toFill
-    );
-    bool scanContent();
-    void scanEndTag(bool& gotData);
-    bool scanStartTag(bool& gotData);
-    bool scanStartTagNS(bool& gotData);
-
-    // -----------------------------------------------------------------------
-    //  IdentityConstraints Activation methods
-    // -----------------------------------------------------------------------
-    inline bool toCheckIdentityConstraint()  const;
-
-    // -----------------------------------------------------------------------
-    //  Grammar preparsing methods
-    // -----------------------------------------------------------------------
-    Grammar* loadXMLSchemaGrammar(const InputSource& src, const bool toCache = false);
-    Grammar* loadDTDGrammar(const InputSource& src, const bool toCache = false);
-
-    // -----------------------------------------------------------------------
-    //  PSVI handling methods
-    // -----------------------------------------------------------------------
-    void endElementPSVI(SchemaElementDecl* const elemDecl,
-                        DatatypeValidator* const memberDV);
-    void resetPSVIElemContext();
-
-    // -----------------------------------------------------------------------
-    //  Data members
-    //
-    //  fRawAttrList
-    //      During the initial scan of the attributes we can only do a raw
-    //      scan for key/value pairs. So this vector is used to store them
-    //      until they can be processed (and put into fAttrList.)
-    //
-    //  fDTDValidator
-    //      The DTD validator instance.
-    //
-    //  fSchemaValidator
-    //      The Schema validator instance.
-    //
-    //  fSeeXsi
-    //      This flag indicates a schema has been seen.
-    //
-    //  fElemState
-    //  fElemStateSize
-    //      Stores an element next state from DFA content model - used for
-    //      wildcard validation
-    //
-    // fDTDElemNonDeclPool
-    //      registry of "faulted-in" DTD element decls
-    // fSchemaElemNonDeclPool
-    //      registry for elements without decls in the grammar
-    // fElemCount
-    //      count of the number of start tags seen so far (starts at 1).
-    //      Used for duplicate attribute detection/processing of required/defaulted attributes
-    // fAttDefRegistry
-    //      mapping from XMLAttDef instances to the count of the last
-    //      start tag where they were utilized.
-    // fUndeclaredAttrRegistry
-    //      mapping of attr QNames to the count of the last start tag in which they occurred
-    // fUndeclaredAttrRegistryNS
-    //      mapping of namespaceId/localName pairs to the count of the last
-    //      start tag in which they occurred.
-    //  fPSVIAttrList
-    //      PSVI attribute list implementation that needs to be
-    //      filled when a PSVIHandler is registered
-    //
-    // -----------------------------------------------------------------------
-    bool                                    fSeeXsi;
-    Grammar::GrammarType                    fGrammarType;
-    unsigned int                            fElemStateSize;
-    unsigned int*                           fElemState;
-    XMLBuffer                               fContent;
-    RefVectorOf<KVStringPair>*              fRawAttrList;
-    unsigned int                            fRawAttrColonListSize;
-    int*                                    fRawAttrColonList;
-    DTDValidator*                           fDTDValidator;
-    SchemaValidator*                        fSchemaValidator;
-    DTDGrammar*                             fDTDGrammar;
-    IdentityConstraintHandler*              fICHandler;
-    ValueVectorOf<XMLCh*>*                  fLocationPairs;
-    NameIdPool<DTDElementDecl>*             fDTDElemNonDeclPool;
-    RefHash3KeysIdPool<SchemaElementDecl>*  fSchemaElemNonDeclPool;
-    unsigned int                            fElemCount;
-    RefHashTableOf<unsigned int>*           fAttDefRegistry;
-    RefHashTableOf<unsigned int>*           fUndeclaredAttrRegistry;
-    RefHash2KeysTableOf<unsigned int>*      fUndeclaredAttrRegistryNS;
-    PSVIAttributeList *                     fPSVIAttrList;
-    XSModel*                                fModel;
-    PSVIElement*                            fPSVIElement;
-    ValueStackOf<bool>*                     fErrorStack;
-    PSVIElemContext                         fPSVIElemContext;
-};
-
-inline const XMLCh* IGXMLScanner::getName() const
-{
-    return XMLUni::fgIGXMLScanner;
-}
-
-inline bool IGXMLScanner::toCheckIdentityConstraint()  const
-{
-    return fValidate && fIdentityConstraintChecking && fICHandler;
-}
-
-inline Grammar::GrammarType IGXMLScanner::getCurrentGrammarType() const
-{
-    return fGrammarType;
-}
-
-XERCES_CPP_NAMESPACE_END
-
-#endif