|
||||
File indexing completed on 2025-01-18 10:14:56
0001 /* 0002 * Licensed to the Apache Software Foundation (ASF) under one or more 0003 * contributor license agreements. See the NOTICE file distributed with 0004 * this work for additional information regarding copyright ownership. 0005 * The ASF licenses this file to You under the Apache License, Version 2.0 0006 * (the "License"); you may not use this file except in compliance with 0007 * the License. You may obtain a copy of the License at 0008 * 0009 * http://www.apache.org/licenses/LICENSE-2.0 0010 * 0011 * Unless required by applicable law or agreed to in writing, software 0012 * distributed under the License is distributed on an "AS IS" BASIS, 0013 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 0014 * See the License for the specific language governing permissions and 0015 * limitations under the License. 0016 */ 0017 0018 /* 0019 * $Id$ 0020 */ 0021 0022 #if !defined(XERCESC_INCLUDE_GUARD_DOMBUILDERIMPL_HPP) 0023 #define XERCESC_INCLUDE_GUARD_DOMBUILDERIMPL_HPP 0024 0025 0026 #include <xercesc/parsers/AbstractDOMParser.hpp> 0027 #include <xercesc/dom/DOMLSParser.hpp> 0028 #include <xercesc/dom/DOMLSInput.hpp> 0029 #include <xercesc/dom/DOMConfiguration.hpp> 0030 #include <xercesc/util/XercesDefs.hpp> 0031 #include <xercesc/util/RefVectorOf.hpp> 0032 #include <xercesc/util/ValueHashTableOf.hpp> 0033 0034 XERCES_CPP_NAMESPACE_BEGIN 0035 0036 class XMLEntityResolver; 0037 class XMLResourceIdentifier; 0038 class DOMStringListImpl; 0039 class DOMLSResourceResolver; 0040 0041 /** 0042 * Introduced in DOM Level 3 0043 * 0044 * DOMLSParserImpl provides an implementation of a DOMLSParser interface. 0045 * A DOMLSParser instance is obtained from the DOMImplementationLS interface 0046 * by invoking its createDOMLSParser method. 0047 */ 0048 class PARSERS_EXPORT DOMLSParserImpl : public AbstractDOMParser, 0049 public DOMLSParser, 0050 public DOMConfiguration 0051 { 0052 public : 0053 // ----------------------------------------------------------------------- 0054 // Constructors and Detructor 0055 // ----------------------------------------------------------------------- 0056 0057 /** @name Constructors and Destructor */ 0058 //@{ 0059 /** Construct a DOMLSParserImpl, with an optional validator 0060 * 0061 * Constructor with an instance of validator class to use for 0062 * validation. If you don't provide a validator, a default one will 0063 * be created for you in the scanner. 0064 * 0065 * @param valToAdopt Pointer to the validator instance to use. The 0066 * parser is responsible for freeing the memory. 0067 * @param manager The memory manager to be used for memory allocations 0068 * @param gramPool Pointer to the grammar pool instance from 0069 * external application. 0070 * The parser does NOT own it. 0071 * 0072 */ 0073 DOMLSParserImpl 0074 ( 0075 XMLValidator* const valToAdopt = 0 0076 , MemoryManager* const manager = XMLPlatformUtils::fgMemoryManager 0077 , XMLGrammarPool* const gramPool = 0 0078 ); 0079 0080 /** 0081 * Destructor 0082 */ 0083 virtual ~DOMLSParserImpl(); 0084 0085 //@} 0086 0087 // ----------------------------------------------------------------------- 0088 // Implementation of DOMLSParser interface 0089 // ----------------------------------------------------------------------- 0090 // ----------------------------------------------------------------------- 0091 // Getter methods 0092 // ----------------------------------------------------------------------- 0093 0094 /** @name Getter methods */ 0095 //@{ 0096 0097 /** 0098 * @see DOMLSParser#getDomConfig 0099 */ 0100 virtual DOMConfiguration* getDomConfig(); 0101 0102 /** 0103 * @see DOMLSParser#getFilter 0104 */ 0105 virtual const DOMLSParserFilter* getFilter() const; 0106 0107 /** 0108 * @see DOMLSParser#getAsync 0109 */ 0110 virtual bool getAsync() const; 0111 0112 /** 0113 * @see DOMLSParser#getBusy 0114 */ 0115 virtual bool getBusy() const; 0116 //@} 0117 0118 0119 // ----------------------------------------------------------------------- 0120 // Setter methods 0121 // ----------------------------------------------------------------------- 0122 0123 /** @name Setter methods */ 0124 //@{ 0125 /** 0126 * @see DOMLSParser#setFilter 0127 */ 0128 virtual void setFilter(DOMLSParserFilter* const filter); 0129 0130 //@} 0131 0132 // ----------------------------------------------------------------------- 0133 // Parsing methods 0134 // ----------------------------------------------------------------------- 0135 /** @name Parsing methods */ 0136 //@{ 0137 0138 // ----------------------------------------------------------------------- 0139 // Parsing methods 0140 // ----------------------------------------------------------------------- 0141 /** 0142 * @see DOMLSParser#parse 0143 */ 0144 virtual DOMDocument* parse(const DOMLSInput* source); 0145 0146 /** 0147 * @see DOMLSParser#parseURI 0148 */ 0149 virtual DOMDocument* parseURI(const XMLCh* const uri); 0150 0151 /** 0152 * @see DOMLSParser#parseURI 0153 */ 0154 virtual DOMDocument* parseURI(const char* const uri); 0155 0156 /** 0157 * @see DOMLSParser#parseWithContext 0158 */ 0159 virtual DOMNode* parseWithContext 0160 ( 0161 const DOMLSInput* source 0162 , DOMNode* contextNode 0163 , const ActionType action 0164 ); 0165 0166 /** 0167 * @see DOMLSParser#abort 0168 */ 0169 virtual void abort(); 0170 0171 0172 // ----------------------------------------------------------------------- 0173 // Non-standard Extension 0174 // ----------------------------------------------------------------------- 0175 /** @name Non-standard Extension */ 0176 //@{ 0177 0178 /** 0179 * Called to indicate that this DOMLSParser is no longer in use 0180 * and that the implementation may relinquish any resources associated with it. 0181 * 0182 */ 0183 virtual void release(); 0184 0185 /** Reset the documents vector pool and release all the associated memory 0186 * back to the system. 0187 * 0188 * When parsing a document using a DOM parser, all memory allocated 0189 * for a DOM tree is associated to the DOM document. 0190 * 0191 * If you do multiple parse using the same DOM parser instance, then 0192 * multiple DOM documents will be generated and saved in a vector pool. 0193 * All these documents (and thus all the allocated memory) 0194 * won't be deleted until the parser instance is destroyed. 0195 * 0196 * If you don't need these DOM documents anymore and don't want to 0197 * destroy the DOM parser instance at this moment, then you can call this method 0198 * to reset the document vector pool and release all the allocated memory 0199 * back to the system. 0200 * 0201 * It is an error to call this method if you are in the middle of a 0202 * parse (e.g. in the mid of a progressive parse). 0203 * 0204 * @exception IOException An exception from the parser if this function 0205 * is called when a parse is in progress. 0206 * 0207 */ 0208 virtual void resetDocumentPool(); 0209 0210 /** 0211 * Preparse schema grammar (XML Schema, DTD, etc.) via an input source 0212 * object. 0213 * 0214 * This method invokes the preparsing process on a schema grammar XML 0215 * file specified by the DOMLSInput parameter. If the 'toCache' flag 0216 * is enabled, the parser will cache the grammars for re-use. If a grammar 0217 * key is found in the pool, no caching of any grammar will take place. 0218 * 0219 * @param source A const reference to the DOMLSInput object which 0220 * points to the schema grammar file to be preparsed. 0221 * @param grammarType The grammar type (Schema or DTD). 0222 * @param toCache If <code>true</code>, we cache the preparsed grammar, 0223 * otherwise, no chaching. Default is <code>false</code>. 0224 * @return The preparsed schema grammar object (SchemaGrammar or 0225 * DTDGrammar). That grammar object is owned by the parser. 0226 * 0227 * @exception SAXException Any SAX exception, possibly 0228 * wrapping another exception. 0229 * @exception XMLException An exception from the parser or client 0230 * handler code. 0231 * @exception DOMException A DOM exception as per DOM spec. 0232 * 0233 * @see DOMLSInput#DOMLSInput 0234 */ 0235 virtual Grammar* loadGrammar(const DOMLSInput* source, 0236 const Grammar::GrammarType grammarType, 0237 const bool toCache = false); 0238 0239 /** 0240 * Preparse schema grammar (XML Schema, DTD, etc.) via a file path or URL 0241 * 0242 * This method invokes the preparsing process on a schema grammar XML 0243 * file specified by the file path parameter. If the 'toCache' flag 0244 * is enabled, the parser will cache the grammars for re-use. If a grammar 0245 * key is found in the pool, no caching of any grammar will take place. 0246 * 0247 * @param systemId A const XMLCh pointer to the Unicode string which 0248 * contains the path to the XML grammar file to be 0249 * preparsed. 0250 * @param grammarType The grammar type (Schema or DTD). 0251 * @param toCache If <code>true</code>, we cache the preparsed grammar, 0252 * otherwise, no chaching. Default is <code>false</code>. 0253 * @return The preparsed schema grammar object (SchemaGrammar or 0254 * DTDGrammar). That grammar object is owned by the parser. 0255 * 0256 * @exception SAXException Any SAX exception, possibly 0257 * wrapping another exception. 0258 * @exception XMLException An exception from the parser or client 0259 * handler code. 0260 * @exception DOMException A DOM exception as per DOM spec. 0261 */ 0262 virtual Grammar* loadGrammar(const XMLCh* const systemId, 0263 const Grammar::GrammarType grammarType, 0264 const bool toCache = false); 0265 0266 /** 0267 * Preparse schema grammar (XML Schema, DTD, etc.) via a file path or URL 0268 * 0269 * This method invokes the preparsing process on a schema grammar XML 0270 * file specified by the file path parameter. If the 'toCache' flag 0271 * is enabled, the parser will cache the grammars for re-use. If a grammar 0272 * key is found in the pool, no caching of any grammar will take place. 0273 * 0274 * @param systemId A const char pointer to a native string which contains 0275 * the path to the XML grammar file to be preparsed. 0276 * @param grammarType The grammar type (Schema or DTD). 0277 * @param toCache If <code>true</code>, we cache the preparsed grammar, 0278 * otherwise, no chaching. Default is <code>false</code>. 0279 * @return The preparsed schema grammar object (SchemaGrammar or 0280 * DTDGrammar). That grammar object is owned by the parser. 0281 * 0282 * @exception SAXException Any SAX exception, possibly 0283 * wrapping another exception. 0284 * @exception XMLException An exception from the parser or client 0285 * handler code. 0286 * @exception DOMException A DOM exception as per DOM spec. 0287 */ 0288 virtual Grammar* loadGrammar(const char* const systemId, 0289 const Grammar::GrammarType grammarType, 0290 const bool toCache = false); 0291 0292 /** 0293 * Retrieve the grammar that is associated with the specified namespace key 0294 * 0295 * @param nameSpaceKey Namespace key 0296 * @return Grammar associated with the Namespace key. 0297 */ 0298 virtual Grammar* getGrammar(const XMLCh* const nameSpaceKey) const; 0299 0300 /** 0301 * Retrieve the grammar where the root element is declared. 0302 * 0303 * @return Grammar where root element declared 0304 */ 0305 virtual Grammar* getRootGrammar() const; 0306 0307 /** 0308 * Returns the string corresponding to a URI id from the URI string pool. 0309 * 0310 * @param uriId id of the string in the URI string pool. 0311 * @return URI string corresponding to the URI id. 0312 */ 0313 virtual const XMLCh* getURIText(unsigned int uriId) const; 0314 0315 /** 0316 * Clear the cached grammar pool 0317 */ 0318 virtual void resetCachedGrammarPool(); 0319 0320 /** 0321 * Returns the current src offset within the input source. 0322 * To be used only while parsing is in progress. 0323 * 0324 * @return offset within the input source 0325 */ 0326 virtual XMLFilePos getSrcOffset() const; 0327 0328 //@} 0329 0330 // ----------------------------------------------------------------------- 0331 // Implementation of the DOMConfiguration interface. 0332 // ----------------------------------------------------------------------- 0333 /** @name Implementation of the DOMConfiguration interface. */ 0334 //@{ 0335 /** 0336 * Set the value of a parameter. 0337 * 0338 * @param name The name of the parameter to set. 0339 * @param value The new value or null if the user wishes to unset the 0340 * parameter. While the type of the value parameter is defined as 0341 * <code>DOMUserData</code>, the object type must match the type defined 0342 * by the definition of the parameter. For example, if the parameter is 0343 * "error-handler", the value must be of type <code>DOMErrorHandler</code> 0344 * 0345 * @exception DOMException (NOT_SUPPORTED_ERR) Raised when the 0346 * parameter name is recognized but the requested value cannot be set. 0347 * @exception DOMException (NOT_FOUND_ERR) Raised when the 0348 * parameter name is not recognized. 0349 * 0350 * @since DOM level 3 0351 **/ 0352 virtual void setParameter(const XMLCh* name, const void* value); 0353 virtual void setParameter(const XMLCh* name, bool value); 0354 0355 /** 0356 * Return the value of a parameter if known. 0357 * 0358 * @param name The name of the parameter. 0359 * @return The current object associated with the specified parameter or 0360 * null if no object has been associated or if the parameter is not 0361 * supported. 0362 * 0363 * @exception DOMException (NOT_FOUND_ERR) Raised when the i 0364 * boolean parameter 0365 * name is not recognized. 0366 * 0367 * @since DOM level 3 0368 **/ 0369 virtual const void* getParameter(const XMLCh* name) const; 0370 0371 /** 0372 * Check if setting a parameter to a specific value is supported. 0373 * 0374 * @param name The name of the parameter to check. 0375 * @param value An object. if null, the returned value is true. 0376 * @return true if the parameter could be successfully set to the specified 0377 * value, or false if the parameter is not recognized or the requested value 0378 * is not supported. This does not change the current value of the parameter 0379 * itself. 0380 * 0381 * @since DOM level 3 0382 **/ 0383 virtual bool canSetParameter(const XMLCh* name, const void* value) const; 0384 virtual bool canSetParameter(const XMLCh* name, bool value) const; 0385 0386 /** 0387 * The list of the parameters supported by this DOMConfiguration object and 0388 * for which at least one value can be set by the application. 0389 * Note that this list can also contain parameter names defined outside this specification. 0390 * 0391 * @return The list of parameters that can be used with setParameter/getParameter 0392 * @since DOM level 3 0393 **/ 0394 virtual const DOMStringList* getParameterNames() const; 0395 //@} 0396 0397 // ----------------------------------------------------------------------- 0398 // Implementation of the XMLErrorReporter interface. 0399 // ----------------------------------------------------------------------- 0400 0401 /** @name Implementation of the XMLErrorReporter interface. */ 0402 //@{ 0403 0404 /** Handle errors reported from the parser 0405 * 0406 * This method is used to report back errors found while parsing the 0407 * XML file. This method is also borrowed from the SAX specification. 0408 * It calls the corresponding user installed Error Handler method: 0409 * 'fatal', 'error', 'warning' depending on the severity of the error. 0410 * This classification is defined by the XML specification. 0411 * 0412 * @param errCode An integer code for the error. 0413 * @param msgDomain A const pointer to an Unicode string representing 0414 * the message domain to use. 0415 * @param errType An enumeration classifying the severity of the error. 0416 * @param errorText A const pointer to an Unicode string representing 0417 * the text of the error message. 0418 * @param systemId A const pointer to an Unicode string representing 0419 * the system id of the XML file where this error 0420 * was discovered. 0421 * @param publicId A const pointer to an Unicode string representing 0422 * the public id of the XML file where this error 0423 * was discovered. 0424 * @param lineNum The line number where the error occurred. 0425 * @param colNum The column number where the error occurred. 0426 * @see DOMErrorHandler 0427 */ 0428 virtual void error 0429 ( 0430 const unsigned int errCode 0431 , const XMLCh* const msgDomain 0432 , const XMLErrorReporter::ErrTypes errType 0433 , const XMLCh* const errorText 0434 , const XMLCh* const systemId 0435 , const XMLCh* const publicId 0436 , const XMLFileLoc lineNum 0437 , const XMLFileLoc colNum 0438 ); 0439 0440 /** Reset any error data before a new parse 0441 * 0442 * This method allows the user installed Error Handler callback to 0443 * 'reset' itself. 0444 * 0445 * <b><font color="#FF0000">This method is a no-op for this DOM 0446 * implementation.</font></b> 0447 */ 0448 virtual void resetErrors(); 0449 //@} 0450 0451 0452 // ----------------------------------------------------------------------- 0453 // Implementation of the XMLEntityHandler interface. 0454 // ----------------------------------------------------------------------- 0455 0456 /** @name Implementation of the XMLEntityHandler interface. */ 0457 //@{ 0458 0459 /** Handle an end of input source event 0460 * 0461 * This method is used to indicate the end of parsing of an external 0462 * entity file. 0463 * 0464 * <b><font color="#FF0000">This method is a no-op for this DOM 0465 * implementation.</font></b> 0466 * 0467 * @param inputSource A const reference to the InputSource object 0468 * which points to the XML file being parsed. 0469 * @see InputSource 0470 */ 0471 virtual void endInputSource(const InputSource& inputSource); 0472 0473 /** Expand a system id 0474 * 0475 * This method allows an installed XMLEntityHandler to further 0476 * process any system id's of enternal entities encountered in 0477 * the XML file being parsed, such as redirection etc. 0478 * 0479 * <b><font color="#FF0000">This method always returns 'false' 0480 * for this DOM implementation.</font></b> 0481 * 0482 * @param systemId A const pointer to an Unicode string representing 0483 * the system id scanned by the parser. 0484 * @param toFill A pointer to a buffer in which the application 0485 * processed system id is stored. 0486 * @return 'true', if any processing is done, 'false' otherwise. 0487 */ 0488 virtual bool expandSystemId 0489 ( 0490 const XMLCh* const systemId 0491 , XMLBuffer& toFill 0492 ); 0493 0494 /** Reset any entity handler information 0495 * 0496 * This method allows the installed XMLEntityHandler to reset 0497 * itself. 0498 * 0499 * <b><font color="#FF0000">This method is a no-op for this DOM 0500 * implementation.</font></b> 0501 */ 0502 virtual void resetEntities(); 0503 0504 /** Resolve a public/system id 0505 * 0506 * This method allows a user installed entity handler to further 0507 * process any pointers to external entities. The applications can 0508 * implement 'redirection' via this callback. 0509 * 0510 * @param resourceIdentifier An object containing the type of 0511 * resource to be resolved and the associated data members 0512 * corresponding to this type. 0513 * @return The value returned by the user installed resolveEntity 0514 * method or NULL otherwise to indicate no processing was done. 0515 * The returned InputSource is owned by the parser which is 0516 * responsible to clean up the memory. 0517 * @see XMLEntityHandler 0518 * @see XMLEntityResolver 0519 */ 0520 virtual InputSource* resolveEntity 0521 ( 0522 XMLResourceIdentifier* resourceIdentifier 0523 ); 0524 0525 /** Handle a 'start input source' event 0526 * 0527 * This method is used to indicate the start of parsing an external 0528 * entity file. 0529 * 0530 * <b><font color="#FF0000">This method is a no-op for this DOM parse 0531 * implementation.</font></b> 0532 * 0533 * @param inputSource A const reference to the InputSource object 0534 * which points to the external entity 0535 * being parsed. 0536 */ 0537 virtual void startInputSource(const InputSource& inputSource); 0538 0539 //@} 0540 0541 // ----------------------------------------------------------------------- 0542 // Implementation of the XMLDocumentHandler interface. 0543 // ----------------------------------------------------------------------- 0544 virtual void docCharacters 0545 ( 0546 const XMLCh* const chars 0547 , const XMLSize_t length 0548 , const bool cdataSection 0549 ); 0550 virtual void docComment 0551 ( 0552 const XMLCh* const comment 0553 ); 0554 virtual void docPI 0555 ( 0556 const XMLCh* const target 0557 , const XMLCh* const data 0558 ); 0559 virtual void startEntityReference 0560 ( 0561 const XMLEntityDecl& entDecl 0562 ); 0563 virtual void endElement 0564 ( 0565 const XMLElementDecl& elemDecl 0566 , const unsigned int urlId 0567 , const bool isRoot 0568 , const XMLCh* const elemPrefix 0569 ); 0570 virtual void startElement 0571 ( 0572 const XMLElementDecl& elemDecl 0573 , const unsigned int urlId 0574 , const XMLCh* const elemPrefix 0575 , const RefVectorOf<XMLAttr>& attrList 0576 , const XMLSize_t attrCount 0577 , const bool isEmpty 0578 , const bool isRoot 0579 ); 0580 0581 // overriden callbacks to implement parseWithContext behavior 0582 virtual void startDocument(); 0583 virtual void XMLDecl 0584 ( 0585 const XMLCh* const versionStr 0586 , const XMLCh* const encodingStr 0587 , const XMLCh* const standaloneStr 0588 , const XMLCh* const actualEncStr 0589 ); 0590 0591 0592 private : 0593 // ----------------------------------------------------------------------- 0594 // Initialize/Cleanup methods 0595 // ----------------------------------------------------------------------- 0596 void resetParse(); 0597 0598 // ----------------------------------------------------------------------- 0599 // Helper methods 0600 // ----------------------------------------------------------------------- 0601 void applyFilter(DOMNode* node); 0602 0603 // ----------------------------------------------------------------------- 0604 // Private data members 0605 // 0606 // fEntityResolver 0607 // The installed DOM entity resolver, if any. Null if none. 0608 // 0609 // fXMLEntityResolver 0610 // The installed Xerces entity resolver, if any. Null if none. 0611 // 0612 // fErrorHandler 0613 // The installed DOM error handler, if any. Null if none. 0614 // 0615 // fFilter 0616 // The installed application filter, if any. Null if none. 0617 // 0618 // fCharsetOverridesXMLEncoding 0619 // Indicates if the "charset-overrides-xml-encoding" is set or not 0620 // 0621 // fUserAdoptsDocument 0622 // The DOMDocument ownership has been transferred to application 0623 // If set to true, the parser does not own the document anymore 0624 // and thus will not release its memory. 0625 // 0626 // fSupportedParameters 0627 // A list of the parameters that can be set, including the ones 0628 // specific of Xerces 0629 // 0630 // fFilterAction 0631 // A map of elements rejected by the DOMLSParserFilter::startElement 0632 // callback, used to avoid invoking DOMLSParserFilter::acceptNode 0633 // on its children 0634 // 0635 // fFilterDelayedTextNodes 0636 // As text nodes are filled incrementally, store them in a map 0637 // so that we ask DOMLSParserFilter::acceptNode only once, when it 0638 // is completely created 0639 // 0640 // fWrapNodesInDocumentFragment 0641 // fWrapNodesContext 0642 // fWrapNodesAction 0643 // Variables used to keep the state for parseWithContext API 0644 // 0645 //----------------------------------------------------------------------- 0646 DOMLSResourceResolver* fEntityResolver; 0647 XMLEntityResolver* fXMLEntityResolver; 0648 DOMErrorHandler* fErrorHandler; 0649 DOMLSParserFilter* fFilter; 0650 bool fCharsetOverridesXMLEncoding; 0651 bool fUserAdoptsDocument; 0652 DOMStringListImpl* fSupportedParameters; 0653 ValueHashTableOf<DOMLSParserFilter::FilterAction, PtrHasher>* fFilterAction; 0654 ValueHashTableOf<bool, PtrHasher>* fFilterDelayedTextNodes; 0655 DOMDocumentFragment* fWrapNodesInDocumentFragment; 0656 DOMNode* fWrapNodesContext; 0657 ActionType fWrapNodesAction; 0658 0659 // ----------------------------------------------------------------------- 0660 // Unimplemented constructors and operators 0661 // ----------------------------------------------------------------------- 0662 DOMLSParserImpl(const DOMLSParserImpl &); 0663 DOMLSParserImpl & operator = (const DOMLSParserImpl &); 0664 }; 0665 0666 0667 0668 // --------------------------------------------------------------------------- 0669 // DOMLSParserImpl: Handlers for the XMLEntityHandler interface 0670 // --------------------------------------------------------------------------- 0671 inline void DOMLSParserImpl::endInputSource(const InputSource&) 0672 { 0673 // The DOM entity resolver doesn't handle this 0674 } 0675 0676 inline bool DOMLSParserImpl::expandSystemId(const XMLCh* const, XMLBuffer&) 0677 { 0678 // The DOM entity resolver doesn't handle this 0679 return false; 0680 } 0681 0682 inline void DOMLSParserImpl::resetEntities() 0683 { 0684 // Nothing to do on this one 0685 } 0686 0687 inline void DOMLSParserImpl::startInputSource(const InputSource&) 0688 { 0689 // The DOM entity resolver doesn't handle this 0690 } 0691 0692 0693 // --------------------------------------------------------------------------- 0694 // DOMLSParserImpl: Getter methods 0695 // --------------------------------------------------------------------------- 0696 inline DOMConfiguration* DOMLSParserImpl::getDomConfig() 0697 { 0698 return this; 0699 } 0700 0701 inline bool DOMLSParserImpl::getAsync() const 0702 { 0703 // We are a synchronous parser 0704 return false; 0705 } 0706 0707 inline const DOMLSParserFilter* DOMLSParserImpl::getFilter() const 0708 { 0709 return fFilter; 0710 } 0711 0712 0713 XERCES_CPP_NAMESPACE_END 0714 0715 #endif
[ Source navigation ] | [ Diff markup ] | [ Identifier search ] | [ general search ] |
This page was automatically generated by the 2.3.7 LXR engine. The LXR team |