Reordered files in all libs - now all includes are in "libname/include" dir - logical, isn't it? This should break compilation however.
This commit is contained in:
@@ -0,0 +1,58 @@
|
||||
/*
|
||||
* 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: XIncludeDOMDocumentProcessor.hpp 655706 2008-05-13 01:08:39Z amassari $
|
||||
*/
|
||||
|
||||
#if !defined(XERCESC_INCLUDE_GUARD_XINCLUDEDOMDOCUMENTPROCESSOR_HPP)
|
||||
#define XERCESC_INCLUDE_GUARD_XINCLUDEDOMDOCUMENTPROCESSOR_HPP
|
||||
|
||||
#include <xercesc/util/XercesDefs.hpp>
|
||||
#include <xercesc/dom/DOM.hpp>
|
||||
#include <xercesc/framework/XMLErrorReporter.hpp>
|
||||
|
||||
XERCES_CPP_NAMESPACE_BEGIN
|
||||
|
||||
class XMLEntityHandler;
|
||||
|
||||
/**
|
||||
* Class for representing and manipulating the XMLCh * href's used
|
||||
* by an xi:include element.
|
||||
*
|
||||
* This class is designed primarily for internal use. This class implements
|
||||
* the functionality required to calculate relative hrefs and the base URI
|
||||
* fixups required for performing XInclude functionality.
|
||||
*/
|
||||
class XINCLUDE_EXPORT XIncludeDOMDocumentProcessor
|
||||
{
|
||||
public:
|
||||
/** Walk the supplied DOMDocument performing all XInclude's as encountered.
|
||||
*
|
||||
* @param source A DOMDocument to parse, this document is not modified.
|
||||
* @param errorHandled An errorHandler to call back in case of problems
|
||||
*
|
||||
* @return a newly created DOMDocument containing the parsed and actioned
|
||||
* xinclude elements.
|
||||
*/
|
||||
DOMDocument *doXIncludeDOMProcess(const DOMDocument * const source, XMLErrorReporter *errorHandler, XMLEntityHandler* entityResolver=NULL);
|
||||
};
|
||||
|
||||
XERCES_CPP_NAMESPACE_END
|
||||
|
||||
#endif /* XINCLUDEDOMDOCUMENTPROCESSOR_HPP */
|
||||
|
||||
@@ -0,0 +1,89 @@
|
||||
/*
|
||||
* 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: XIncludeLocation.hpp 655706 2008-05-13 01:08:39Z amassari $
|
||||
*/
|
||||
|
||||
#if !defined(XERCESC_INCLUDE_GUARD_XINCLUDELOCATION_HPP)
|
||||
#define XERCESC_INCLUDE_GUARD_XINCLUDELOCATION_HPP
|
||||
|
||||
#include <xercesc/util/XercesDefs.hpp>
|
||||
#include <xercesc/dom/DOM.hpp>
|
||||
|
||||
XERCES_CPP_NAMESPACE_BEGIN
|
||||
|
||||
|
||||
/**
|
||||
* Class for representing and manipulating the XMLCh * href's used
|
||||
* by an xi:include element.
|
||||
*
|
||||
* This class is designed primarily for internal use. This class implements
|
||||
* the functionality required to calculate relative hrefs and the base URI
|
||||
* fixups required for performing XInclude functionality.
|
||||
*/
|
||||
class XINCLUDE_EXPORT XIncludeLocation
|
||||
{
|
||||
public:
|
||||
/** Create an XIncludeLocation, primed with the supplied href
|
||||
*
|
||||
* @param href the initial URI value
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
XIncludeLocation(const XMLCh *href);
|
||||
|
||||
/** Destructor
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
~XIncludeLocation();
|
||||
|
||||
/** Prepend the supplied href to the current location and modify the current XIncludeLocation's
|
||||
* internal href field
|
||||
*
|
||||
* @param toPrepend the path to prepend
|
||||
*
|
||||
* @return the resultant compound URI
|
||||
*/
|
||||
const XMLCh *prependPath(const XMLCh *toPrepend);
|
||||
|
||||
/** Get the current XIncludeLocation's compound URI location
|
||||
*
|
||||
* @return the current URI
|
||||
*/
|
||||
const XMLCh *getLocation(){
|
||||
return fHref;
|
||||
};
|
||||
|
||||
/** Get a pointer to the end of the protocol section of a URI
|
||||
*
|
||||
* @param URI a URI to strip the protocol from
|
||||
*
|
||||
* @return a pointer into the supplied URI immediately after the last character of the protocol section
|
||||
* the pointer points to the first character after the protocol.
|
||||
*/
|
||||
static const XMLCh *findEndOfProtocol(const XMLCh *URI);
|
||||
|
||||
private:
|
||||
const XMLCh *fHref;
|
||||
};
|
||||
|
||||
XERCES_CPP_NAMESPACE_END
|
||||
|
||||
#endif /* XINCLUDELOCATION_HPP */
|
||||
|
||||
267
project/jni/xerces/include/xercesc/xinclude/XIncludeUtils.hpp
Normal file
267
project/jni/xerces/include/xercesc/xinclude/XIncludeUtils.hpp
Normal file
@@ -0,0 +1,267 @@
|
||||
/*
|
||||
* 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: XIncludeUtils.hpp 673949 2008-07-04 08:04:44Z borisk $
|
||||
*/
|
||||
|
||||
#if !defined(XERCESC_INCLUDE_GUARD_XINCLUDEUTILS_HPP)
|
||||
#define XERCESC_INCLUDE_GUARD_XINCLUDEUTILS_HPP
|
||||
|
||||
#include <xercesc/util/XercesDefs.hpp>
|
||||
#include <xercesc/util/XMLException.hpp>
|
||||
#include <xercesc/dom/DOMNode.hpp>
|
||||
#include <xercesc/dom/DOMDocument.hpp>
|
||||
#include <xercesc/dom/DOMErrorHandler.hpp>
|
||||
#include <xercesc/framework/XMLElementDecl.hpp>
|
||||
#include <xercesc/xinclude/XIncludeLocation.hpp>
|
||||
#include <xercesc/framework/XMLErrorCodes.hpp>
|
||||
|
||||
XERCES_CPP_NAMESPACE_BEGIN
|
||||
|
||||
class XMLEntityHandler;
|
||||
|
||||
typedef struct XIncludeHistoryNode{
|
||||
XMLCh *URI;
|
||||
struct XIncludeHistoryNode *next;
|
||||
}XIncludeHistoryNode;
|
||||
|
||||
/**
|
||||
* Class implementing all the utility functions required by an XInclude parser.
|
||||
*
|
||||
* This class is designed primarily for internal use. This class implements
|
||||
* utility methods to be called by an XInclude parser. It is intended to encapsulate
|
||||
* the actual processing and recognition of XInclude components.
|
||||
*/
|
||||
class XINCLUDE_EXPORT XIncludeUtils
|
||||
{
|
||||
private:
|
||||
|
||||
/** Constructor
|
||||
*
|
||||
*/
|
||||
XIncludeUtils(XMLErrorReporter *errorReporter);
|
||||
|
||||
/** Destructor
|
||||
*
|
||||
*/
|
||||
~XIncludeUtils();
|
||||
|
||||
/** Parse the supplied XInclude element performing relevant XInclude functionality
|
||||
*
|
||||
* @param xincludeNode The XInclude node to parse and action
|
||||
* @param parsedDocument The DOMDocument to which the results of the XInclude are to be added
|
||||
*
|
||||
* @return true if the XInclude processing was successful, false if not. Note that an
|
||||
* XInclude that fails resulting in a successful fallback action would return true.
|
||||
*/
|
||||
bool doDOMNodeXInclude(DOMNode *xincludeNode, DOMDocument *parsedDocument, XMLEntityHandler* entityResolver);
|
||||
|
||||
/** Parse an XInclude xml file into a DOMDocument node.
|
||||
*
|
||||
* @param href the location of the document to include
|
||||
* @param relativeHref
|
||||
* @param parsedDocument
|
||||
*
|
||||
* @return a newly created DOMDocument containing the parsed and actioned
|
||||
* href, or NULL if the document could not be loaded.
|
||||
*/
|
||||
DOMDocument *doXIncludeXMLFileDOM(const XMLCh *href,
|
||||
const XMLCh *relativeHref,
|
||||
DOMNode *xincludeNode,
|
||||
DOMDocument *parsedDocument,
|
||||
XMLEntityHandler* entityResolver);
|
||||
|
||||
/** Parse an XInclude text file into a DOMText node.
|
||||
*
|
||||
* @param href the location of the document to include
|
||||
* @param relativeHref
|
||||
* @param encoding
|
||||
* @param parsedDocument
|
||||
*
|
||||
* @return a newly created DOMText containing the parsed and actioned
|
||||
* href, or NULL if the document could not be loaded.
|
||||
*/
|
||||
DOMText *doXIncludeTEXTFileDOM(const XMLCh *href,
|
||||
const XMLCh *relativeHref,
|
||||
const XMLCh *encoding,
|
||||
DOMNode *xincludeNode,
|
||||
DOMDocument *parsedDocument,
|
||||
XMLEntityHandler* entityResolver);
|
||||
|
||||
/** Detect whether the supplied details are correct for an xi:include element
|
||||
*
|
||||
* @param name the element name
|
||||
* @param namespaceURI the element namespace
|
||||
*
|
||||
* @return true if details are valid for an xi:include element, false
|
||||
* if not.
|
||||
*/
|
||||
static bool isXIIncludeElement(const XMLCh *name, const XMLCh *namespaceURI);
|
||||
|
||||
/** Detect whether the supplied details are correct for an xi:fallback element
|
||||
*
|
||||
* @param name the element name
|
||||
* @param namespaceURI the element namespace
|
||||
*
|
||||
* @return true if details are valid for an xi:fallback element, false
|
||||
* if not.
|
||||
*/
|
||||
static bool isXIFallbackElement(const XMLCh *name, const XMLCh *namespaceURI);
|
||||
|
||||
/** Detect whether the supplied DOMNode is an xi:include element
|
||||
*
|
||||
* @param node The node to check
|
||||
*
|
||||
* @return true if node is an xi:include element, false
|
||||
* if not.
|
||||
*/
|
||||
static bool isXIIncludeDOMNode(DOMNode *node);
|
||||
|
||||
/** Detect whether the supplied DOMNode is an xi:fallback element
|
||||
*
|
||||
* @param node The DOMNode to check
|
||||
*
|
||||
* @return true if node is an xi:fallback element, false
|
||||
* if not.
|
||||
*/
|
||||
static bool isXIFallbackDOMNode(DOMNode *node);
|
||||
|
||||
/** Walk the content of the supplied source node, performing any xinclude actions
|
||||
* that are encountered.
|
||||
*
|
||||
* @param source A DOMNode to parse, this node may be modified by the method
|
||||
* @param parsedDocument the DOMDocument to which the parsed results are to be copied.
|
||||
*
|
||||
* @return true if XInclude behaviour was successfully performed on source, false if not.
|
||||
*/
|
||||
bool parseDOMNodeDoingXInclude(DOMNode *source, DOMDocument *parsedDocument, XMLEntityHandler* entityResolver);
|
||||
|
||||
/** Parse the supplied URI and escape all characters as specified by
|
||||
* the XINclusions specification.
|
||||
*
|
||||
* @param hrefAttrValue the href to parse and escape.
|
||||
* @param needsDeallocating set to true if the return value needs deallocating
|
||||
* by the caller after use, false if the value returned is the same as the
|
||||
* hrefAttrValue passed in.
|
||||
*
|
||||
* @return an escaped version of hrefAttrValue or hrefAttrValue itself if
|
||||
* hrefAttrValue contains only valid characters.
|
||||
*/
|
||||
/* 4.1.1 */
|
||||
const XMLCh *getEscapedHRefAttrValue(const XMLCh *hrefAttrValue, bool &needsDeallocating);
|
||||
|
||||
/** Set the accept and accept-lang parameters on HTTP requests generated while
|
||||
* XIncluding.
|
||||
*
|
||||
* @param acceptAttrValue
|
||||
* @param acceptLangAttrValue
|
||||
*
|
||||
* @return true if the values were successfully added to the HTTP request, false
|
||||
* if not.
|
||||
*/
|
||||
/* 4.1.2 */
|
||||
bool setContentNegotiation(const XMLCh *acceptAttrValue, const XMLCh *acceptLangAttrValue);
|
||||
|
||||
/** Check the characters passed in are all valid characters for XInclusion
|
||||
* as specified at http://www.w3.org/TR/xinclude/#text-included-items
|
||||
*
|
||||
* @param includeChars the characters to parse for validity
|
||||
*
|
||||
* @return true if the includeChars parameter contains only valid characters
|
||||
* for inclusion, false if there are invalid characters in includeChars.
|
||||
*/
|
||||
bool checkTextIsValidForInclude(XMLCh *includeChars);
|
||||
|
||||
/** Add the supplied parameter to the InclusionHistoryStack
|
||||
*
|
||||
* @param URItoAdd the URI to add to the InclusionHistoryStack/
|
||||
*
|
||||
* @return true if the URI was added, false if a problem prevented
|
||||
* the URI being added.
|
||||
*/
|
||||
bool addDocumentURIToCurrentInclusionHistoryStack(const XMLCh *URItoAdd);
|
||||
|
||||
/** Check the XInclude InclusionHistoryStack to see if the supplied URI
|
||||
* has already been included. This is used to ensure that circular inclusion
|
||||
* chains are detected and that the inclusion mechanism does not get stuck in
|
||||
* a loop.
|
||||
*
|
||||
* @param toFind the URI to look up.
|
||||
*
|
||||
* @return true if the toFind parameter is found in the InclusionHistortStack,
|
||||
* false if the parameter is not in the stack or the stack is empty.
|
||||
*/
|
||||
bool isInCurrentInclusionHistoryStack(const XMLCh *toFind);
|
||||
|
||||
/** Pop (i.e. remove and return) the top value from the InclusionHistoryStack
|
||||
*
|
||||
* @param toPop the value that is expected to be at the top of the stack, or
|
||||
* NULL if no checking is required.
|
||||
*
|
||||
* @return the element at the top of the stack
|
||||
*/
|
||||
XIncludeHistoryNode * popFromCurrentInclusionHistoryStack(const XMLCh *toPop);
|
||||
|
||||
/** Free the internal inclusion history list.
|
||||
*
|
||||
* @return nothing
|
||||
*/
|
||||
void freeInclusionHistory();
|
||||
|
||||
/** Construct and pass on an error description
|
||||
*
|
||||
* @param errorNode The DOMNode that was being parsed when the error occurred
|
||||
* @param errorType The severity of the error
|
||||
* @param errorMsg An optional message to include in the error report
|
||||
* @param href The URI of the document being parsed.
|
||||
*
|
||||
* @return true if the errorHandler requests continuation of parsing despite error
|
||||
* false if the errorHandler requests parsing end on encountering error, or it
|
||||
* there is no error handler.
|
||||
*/
|
||||
bool reportError(const DOMNode* const errorNode
|
||||
, XMLErrs::Codes errorType
|
||||
, const XMLCh* const errorMsg
|
||||
, const XMLCh* const href);
|
||||
|
||||
public:
|
||||
/* temporarily public to facilitate helper func getBaseAttrValue */
|
||||
static const XMLCh fgXIBaseAttrName[];
|
||||
private:
|
||||
XIncludeHistoryNode *fIncludeHistoryHead;
|
||||
XMLSize_t fErrorCount;
|
||||
XMLErrorReporter *fErrorReporter;
|
||||
static const XMLCh fgXIIncludeQName[];
|
||||
static const XMLCh fgXIFallbackQName[];
|
||||
static const XMLCh fgXIIncludeHREFAttrName[];
|
||||
static const XMLCh fgXIIncludeParseAttrName[];
|
||||
static const XMLCh fgXIIncludeParseAttrXMLValue[];
|
||||
static const XMLCh fgXIIncludeParseAttrTextValue[];
|
||||
static const XMLCh fgXIIncludeXPointerAttrName[];
|
||||
static const XMLCh fgXIIncludeEncodingAttrName[];
|
||||
static const XMLCh fgXIIncludeAcceptAttrName[];
|
||||
static const XMLCh fgXIIncludeAcceptLanguageAttrName[];
|
||||
static const XMLCh fgXIIIncludeNamespaceURI[];
|
||||
|
||||
friend class XIncludeDOMDocumentProcessor;
|
||||
friend class AbstractDOMParser;
|
||||
};
|
||||
|
||||
XERCES_CPP_NAMESPACE_END
|
||||
|
||||
#endif
|
||||
Reference in New Issue
Block a user