 |
Xalan-C++ API Reference
1.12.0
|
Go to the documentation of this file.
18 #if !defined(XALANXMLSERIALIZERBASE_HEADER_GUARD_1357924680)
19 #define XALANXMLSERIALIZERBASE_HEADER_GUARD_1357924680
46 class XalanOutputStream;
50 using xercesc::MemoryManager;
90 MemoryManager& theManager,
104 return m_elemStack.getMemoryManager();
118 const XMLCh*
const name,
119 AttributeList& attrs) = 0;
126 const XMLCh*
const chars,
131 const XMLCh*
const chars,
139 const XMLCh*
const chars,
144 const XMLCh*
const target,
145 const XMLCh*
const data);
155 const XMLCh*
const ch,
182 return m_shouldWriteXMLHeader;
188 m_shouldWriteXMLHeader = b;
212 static const char s_doctypeHeaderStartString[];
219 static const char s_doctypeHeaderPublicString[];
226 static const char s_doctypeHeaderSystemString[];
233 static const char s_xmlHeaderStartString[];
240 static const char s_xmlHeaderEncodingString[];
247 static const char s_xmlHeaderStandaloneString[];
254 static const char s_xmlHeaderEndString[];
261 static const char s_defaultVersionString[];
268 static const XalanDOMChar s_xhtmlDocTypeString[];
275 static const char s_cdataOpenString[];
282 static const char s_cdataCloseString[];
289 static const char s_lessThanEntityString[];
296 static const char s_greaterThanEntityString[];
303 static const char s_ampersandEntityString[];
310 static const char s_quoteEntityString[];
327 static const XalanDOMChar s_doctypeHeaderStartString[];
334 static const XalanDOMChar s_doctypeHeaderPublicString[];
341 static const XalanDOMChar s_doctypeHeaderSystemString[];
348 static const XalanDOMChar s_xmlHeaderStartString[];
355 static const XalanDOMChar s_xmlHeaderEncodingString[];
362 static const XalanDOMChar s_xmlHeaderStandaloneString[];
369 static const XalanDOMChar s_xmlHeaderEndString[];
376 static const XalanDOMChar s_defaultVersionString[];
383 static const XalanDOMChar s_xhtmlDocTypeString[];
390 static const XalanDOMChar s_cdataOpenString[];
397 static const XalanDOMChar s_cdataCloseString[];
404 static const XalanDOMChar s_lessThanEntityString[];
411 static const XalanDOMChar s_greaterThanEntityString[];
418 static const XalanDOMChar s_ampersandEntityString[];
425 static const XalanDOMChar s_quoteEntityString[];
442 return theChar > s_lastSpecial ?
444 s_specialChars[theChar] > eNone;
450 return theChar > s_lastSpecial ?
452 s_specialChars[theChar] > eAttr;
460 return theChar > s_lastSpecial;
466 return theChar > s_lastSpecial ?
468 s_specialChars[theChar] == eForb;
474 return theChar > s_lastSpecial ?
476 s_specialChars[theChar] == eForb;
481 static const size_t s_lastSpecial;
483 static const char s_specialChars[];
495 return theChar > s_lastSpecial ?
497 s_specialChars[theChar] > eNone;
503 return theChar > s_lastSpecial ?
505 s_specialChars[theChar] > eAttr;
513 return theChar > s_lastSpecial;
519 return theChar > s_lastSpecial ?
521 s_specialChars[theChar] == eForb;
527 return theChar > s_lastSpecial ?
529 s_specialChars[theChar] == eCRFb;
533 static const size_t s_lastSpecial;
535 static const char s_specialChars[];
569 const XMLCh* data) = 0;
595 if(!m_elemStack.empty())
598 if(
false == m_elemStack.back())
600 m_elemStack.back() =
true;
616 return m_needToOutputDoctypeDecl;
625 m_elemStack.push_back(
false);
631 return m_elemStack.empty();
642 bool fResult =
false;
644 if (m_elemStack.empty() ==
false)
646 fResult = m_elemStack.back();
648 m_elemStack.pop_back();
657 if(
true == m_needToOutputDoctypeDecl)
659 assert(m_doctypeSystem.empty() ==
false);
661 writeDoctypeDecl(name);
663 m_needToOutputDoctypeDecl =
false;
702 return 0xD800u <= theChar && theChar <= 0xDBFFu ? true :
false;
708 return 0xDC00u <= theChar && theChar <= 0xDFFFu ? true :
false;
711 static XalanUnicodeChar
713 XalanDOMChar theHighSurrogate,
714 XalanDOMChar theLowSurrogate,
715 MemoryManager& theManager);
725 MemoryManager& theManager);
737 MemoryManager& theManager);
748 MemoryManager& theManager);
761 MemoryManager& theManager);
779 bool m_needToOutputDoctypeDecl;
784 bool m_shouldWriteXMLHeader;
795 static const XalanDOMChar s_xhtmlDocTypeString[];
797 static const size_type s_xhtmlDocTypeStringLength;
806 #endif // XALANXMLSERIALIZERBASE_HEADER_GUARD_1357924680
void generateDoctypeDecl(const XalanDOMChar *name)
bool getShouldWriteXMLHeader() const
static const size_type s_doctypeHeaderSystemStringLength
static const XalanDOMString & s_1_1String
bool range(XalanDOMChar theChar) const
virtual const XalanDOMString & getEncoding() const
const XalanDOMString m_doctypePublic
The public ID for the doc type.
static const size_type s_quoteEntityStringLength
MemoryManager & getMemoryManager()
static void initialize(MemoryManager &theManager)
Perform static initialization.
void setShouldWriteXMLHeader(bool b)
#define XALAN_CPP_NAMESPACE
Xalan-C++ namespace, including major and minor version.
static void throwInvalidCharacterException(XalanUnicodeChar ch, MemoryManager &theManager)
Throw an exception when an invalid character is encountered.
static const size_type s_doctypeHeaderPublicStringLength
void openElementForChildren()
Open an element for possibile children.
static const size_type s_xmlHeaderEncodingStringLength
const XalanDOMString & m_version
Tells the XML version, for writing out to the XML decl.
static void terminate()
Perform static shut down.
virtual void charactersRaw(const XMLCh *const chars, const size_type length)=0
bool childNodesWereAdded()
Determine if an element ever had any children added.
virtual void outputNewline()=0
XalanXMLSerializerBase serves as a base class for XML serializers based on FormatterListener events.
XalanVector< bool > BoolStackType
bool content(XalanDOMChar theChar) const
static const size_type s_ampersandEntityStringLength
virtual const XalanDOMString & getDoctypeSystem() const
virtual void characters(const XMLCh *const chars, const size_type length)
virtual void resetDocument()
virtual const XalanDOMString & getDoctypePublic() const
virtual void startDocument()
bool operator==(const XalanVector< Type > &theLHS, const XalanVector< Type > &theRHS)
static const size_type s_quoteEntityStringLength
bool isCharRefForbidden(XalanDOMChar theChar) const
static const size_type s_cdataOpenStringLength
virtual void flushBuffer()=0
static const size_type s_cdataCloseStringLength
virtual void comment(const XMLCh *const data)=0
Called when a Comment is to be constructed.
virtual void writeDoctypeDecl(const XalanDOMChar *name)=0
static const size_type s_greaterThanEntityStringLength
static const size_type s_xmlHeaderStartStringLength
virtual void cdata(const XMLCh *const ch, const size_type length)
static const XalanDOMString & s_encodingString
The string "UTF-16".
virtual void endElement(const XMLCh *const name)=0
bool range(XalanDOMChar theChar) const
virtual ~XalanXMLSerializerBase()
bool m_spaceBeforeClose
Add space before '/>' for XHTML.
bool outsideDocumentElement() const
bool isForbidden(XalanDOMChar theChar) const
static bool isUTF16LowSurrogate(XalanDOMChar theChar)
virtual void entityReference(const XMLCh *const name)=0
Receive notification of a entityReference.
static const size_type s_defaultVersionStringLength
virtual void writeProcessingInstruction(const XMLCh *target, const XMLCh *data)=0
bool attribute(XalanDOMChar theChar) const
static const size_type s_xmlHeaderStandaloneStringLength
static const size_type s_doctypeHeaderPublicStringLength
bool isCharRefForbidden(XalanDOMChar theChar) const
static const size_type s_xhtmlDocTypeStringLength
static const size_type s_cdataCloseStringLength
XalanDOMString::size_type length(const XalanDOMString &theString)
Get the length of a XalanDOMString.
bool content(XalanDOMChar theChar) const
static void throwInvalidUTF16SurrogateException(XalanDOMChar ch, XalanDOMChar next, MemoryManager &theManager)
Throw an exception when an invalid surrogate is encountered.
static bool isUTF16HighSurrogate(XalanDOMChar theChar)
static const size_type s_xmlHeaderStartStringLength
static const size_type s_greaterThanEntityStringLength
static const size_type s_defaultVersionStringLength
virtual void processingInstruction(const XMLCh *const target, const XMLCh *const data)
static const size_type s_xmlHeaderEncodingStringLength
const XalanDOMString m_doctypeSystem
The System ID for the doc type.
static const size_type s_cdataOpenStringLength
const XalanDOMString & getVersion() const
static XalanUnicodeChar decodeUTF16SurrogatePair(XalanDOMChar theHighSurrogate, XalanDOMChar theLowSurrogate, MemoryManager &theManager)
virtual void startElement(const XMLCh *const name, AttributeList &attrs)=0
static const XalanDOMString & s_1_0String
static const size_type s_xhtmlDocTypeStringLength
const XalanDOMString m_encoding
static const size_type s_lessThanEntityStringLength
static const size_type s_ampersandEntityStringLength
static const size_type s_doctypeHeaderStartStringLength
bool m_nextIsRaw
Tell if the next text should be raw.
const XalanDOMString m_standalone
Text for standalone part of header.
bool attribute(XalanDOMChar theChar) const
static const XalanDOMString & s_encodingString
The string "UTF-8".
static const size_type s_doctypeHeaderStartStringLength
static const size_type s_xmlHeaderStandaloneStringLength
virtual void writeCharacters(const XMLCh *chars, size_type length)=0
const XalanDOMString & getStandalone() const
virtual void setDocumentLocator(const Locator *const locator)
static void throwInvalidUTF16SurrogateException(XalanDOMChar ch, MemoryManager &theManager)
Throw an exception when an invalid surrogate is encountered.
virtual void writeXMLHeader()=0
bool markParentForChildren()
Mark the parent element as having a child.
XalanXMLSerializerBase(MemoryManager &theManager, eXMLVersion theXMLVersion, const XalanDOMString &theEncoding, const XalanDOMString &theDoctypeSystem, const XalanDOMString &theDoctypePublic, bool xmlDecl, const XalanDOMString &theStandalone)
Constructor.
bool isForbidden(XalanDOMChar theChar) const
static const size_type s_xmlHeaderEndStringLength
virtual void writeCDATA(const XMLCh *chars, size_type length)=0
static const size_type s_lessThanEntityStringLength
#define XALAN_XMLSUPPORT_EXPORT
static const size_type s_doctypeHeaderSystemStringLength
bool getNeedToOutputDoctypeDecl() const
Determine if it a DOCTYPE declaration needs to be written.
static const size_type s_xmlHeaderEndStringLength
virtual void ignorableWhitespace(const XMLCh *const chars, const size_type length)
static void throwInvalidXMLCharacterException(XalanUnicodeChar ch, const XalanDOMString &theXMLversion, MemoryManager &theManager)
Throw an exception when an invalid character for the specific XML version is encountered.