Inherits System::IDisposable.

Inherited by System::Xml::XmlTextWriter.

Public Types

typedef SharedPtr< XmlWriterPtr
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Object
typedef SmartPtr< Objectptr
 Alias for smart pointer type. More...
 
typedef System::Details::SharedMembersType shared_members_type
 structure to keep list of shared pointers contained in object. More...
 

Public Member Functions

virtual ASPOSECPP_SHARED_API WriteState get_WriteState ()=0
 Returns a value indicating the state of the current writer. More...
 
virtual ASPOSECPP_SHARED_API void Close ()=0
 Closes the write stream. More...
 
virtual ASPOSECPP_SHARED_API void Flush ()=0
 Flushes the content of the buffers to the underlying stream and also flushes the underlying stream. More...
 
virtual ASPOSECPP_SHARED_API void WriteStartDocument ()=0
 Writes an XML declaration with version "1.0". More...
 
virtual ASPOSECPP_SHARED_API void WriteStartDocument (bool standalone)=0
 
virtual ASPOSECPP_SHARED_API void WriteStartElement (String localName)=0
 
virtual ASPOSECPP_SHARED_API void WriteStartElement (String localName, String ns)=0
 
virtual ASPOSECPP_SHARED_API void WriteStartElement (String prefix, String localName, String ns)=0
 
virtual ASPOSECPP_SHARED_API void WriteAttributeString (String localName, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteStartAttribute (String localName)=0
 
virtual ASPOSECPP_SHARED_API void WriteAttributeString (String localName, String ns, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteAttributeString (String prefix, String localName, String ns, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteAttributes (SharedPtr< XmlReader > reader, bool defattr)=0
 
virtual ASPOSECPP_SHARED_API void WriteElementString (String localName, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteElementString (String localName, String ns, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteElementString (String prefix, String localName, String ns, String value)=0
 
virtual ASPOSECPP_SHARED_API void WriteDocType (String name, String pubid, String sysid, String subset)=0
 
virtual ASPOSECPP_SHARED_API void WriteCData (String text)=0
 
virtual ASPOSECPP_SHARED_API void WriteComment (String text)=0
 
virtual ASPOSECPP_SHARED_API void WriteProcessingInstruction (String name, String text)=0
 
virtual ASPOSECPP_SHARED_API void WriteEntityRef (String name)=0
 
virtual ASPOSECPP_SHARED_API void WriteString (String text)=0
 
virtual ASPOSECPP_SHARED_API void WriteWhitespace (String ws)=0
 
virtual ASPOSECPP_SHARED_API void WriteRaw (String text)=0
 
virtual ASPOSECPP_SHARED_API void WriteRaw (ArrayPtr< char_t > buffer, int index, int count)=0
 
virtual ASPOSECPP_SHARED_API void WriteBase64 (ArrayPtr< uint8_t > buffer, int index, int count)=0
 
virtual ASPOSECPP_SHARED_API void WriteBinHex (ArrayPtr< uint8_t > buffer, int index, int count)=0
 
virtual ASPOSECPP_SHARED_API void WriteEndAttribute ()=0
 Closes the previous WriteStartAttribute(System::String) call. More...
 
virtual ASPOSECPP_SHARED_API void WriteEndElement ()=0
 
virtual ASPOSECPP_SHARED_API void WriteFullEndElement ()=0
 Closes an element and pops the corresponding namespace scope. The full form of closing tag is used. More...
 
virtual ASPOSECPP_SHARED_API void WriteEndDocument ()=0
 Closes all open elements and attributes and puts the writer in the Start state. More...
 
virtual ASPOSECPP_SHARED_API String LookupPrefix (String ns)=0
 
- Public Member Functions inherited from System::IDisposable
virtual void Dispose ()
 Does nothing. More...
 
- Public Member Functions inherited from System::Object
ASPOSECPP_SHARED_API Object ()
 Creates object. Initializes all internal data structures. More...
 
virtual ASPOSECPP_SHARED_API ~Object ()
 Destroys object. Frees all internal data structures. More...
 
ASPOSECPP_SHARED_API Object (Object const &x)
 Copy constructor. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
Objectoperator= (Object const &x)
 Assignment operator. Doesn't copy anything, really, just initializes new object and enables copy constructing subclasses. More...
 
ObjectSharedRefAdded ()
 Increments shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int SharedRefRemovedSafe ()
 Decrements and returns shared reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
int RemovedSharedRefs (int count)
 Decreases shared reference count by specified value. More...
 
Detail::SmartPtrCounter * WeakRefAdded ()
 Increments weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
void WeakRefRemoved ()
 Decrements weak reference count. Shouldn't be called directly; instead, use smart pointers or ThisProtector. More...
 
Detail::SmartPtrCounter * GetCounter ()
 Gets reference counter data structure associated with the object. More...
 
int SharedCount () const
 Gets current value of shared refernce counter. More...
 
ASPOSECPP_SHARED_API void Lock ()
 Implements C# lock() statement locking. Call directly or use LockContext sentry object. More...
 
ASPOSECPP_SHARED_API void Unlock ()
 Implements C# lock() statement unlocking. Call directly or use LockContext sentry object. More...
 
virtual ASPOSECPP_SHARED_API bool Equals (ptr obj)
 Compares objects using C# Object.Equals semantics. More...
 
virtual ASPOSECPP_SHARED_API int GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () ASPOSE_CONST
 Analog of C# Object.ToString() method. Enables converting custom objects to string. More...
 
virtual ASPOSECPP_SHARED_API ptr MemberwiseClone () const
 Analog of C# Object.MemberwiseClone() method. Enables cloning custom types. More...
 
virtual ASPOSECPP_SHARED_API const TypeInfoGetType () const
 Gets actual type of object. Analog of C# System.Object.GetType() call. More...
 
virtual ASPOSECPP_SHARED_API bool Is (const TypeInfo &targetType) const
 Check if object represents an instance of type described by targetType. Analog of C# 'is' operator. More...
 
virtual ASPOSECPP_SHARED_API void SetTemplateWeakPtr (unsigned int argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 
template<>
bool Equals (double const &objA, double const &objB)
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 

Static Public Member Functions

static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const String &outputFileName)
 
static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const String &outputFileName, const SharedPtr< XmlWriterSettings > &settings)
 
static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const SharedPtr< System::IO::Stream > &stream, const SharedPtr< XmlWriterSettings > &settings=nullptr)
 
static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const SharedPtr< System::Text::StringBuilder > &builder, const SharedPtr< XmlWriterSettings > &settings)
 
static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const SharedPtr< System::IO::TextWriter > &text_writer)
 
static ASPOSECPP_SHARED_API XmlWriter::Ptr Create (const SharedPtr< System::IO::TextWriter > &text_writer, const SharedPtr< XmlWriterSettings > &settings)
 
- Static Public Member Functions inherited from System::Object
static bool ReferenceEquals (ptr const &objA, ptr const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, T const &objB)
 Compares objects by reference. More...
 
template<typename T >
static std::enable_if<!IsSmartPtr< T >::value, bool >::type ReferenceEquals (T const &objA, std::nullptr_t)
 Reference-compares value type object with nullptr. More...
 
template<typename T1 , typename T2 >
static std::enable_if< IsSmartPtr< T1 >::value &&IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares reference type objects in C# style. More...
 
template<typename T1 , typename T2 >
static std::enable_if<!IsSmartPtr< T1 >::value &&!IsSmartPtr< T2 >::value, bool >::type Equals (T1 const &objA, T2 const &objB)
 Compares value type objects in C# style. More...
 
static const TypeInfoType ()
 Impleemnts C# typeof(System.Object) construct. More...
 

Protected Member Functions

 XmlWriter ()
 Constructs a new instance of XmlWriter class. More...
 

Detailed Description

Represents a writer that provides a non-cached, forward-only way to generate XML data. Objects of this class should only be allocated using System::MakeObject() function. Never create instance of this type on stack or using operator new, as it will result in runtime errors and/or assertion faults. Always wrap this class into System::SmartPtr pointer and use this pointer to pass it to functions as argument.

Member Typedef Documentation

◆ Ptr

An alias for shared pointer to an instance of this class.

Constructor & Destructor Documentation

◆ XmlWriter()

System::Xml::XmlWriter::XmlWriter ( )
inlineprotected

Constructs a new instance of XmlWriter class.

Member Function Documentation

◆ Close()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::Close ( )
pure virtual

Closes the write stream.

Implemented in System::Xml::XmlTextWriter.

◆ Create() [1/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const String outputFileName)
static

Constructs an instance of XmlWriter class and initializes it with the specified output file.

Parameters
outputFileNameA filesystem path specifying a file to which the writer will write
Returns
A shared pointer to the constructed object

◆ Create() [2/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const String outputFileName,
const SharedPtr< XmlWriterSettings > &  settings 
)
static

Constructs an instance of XmlWriter class and initializes it with the specified output file and settings.

Parameters
outputFileNameA filesystem path specifying a file to which the writer will write
settingsThe writer's settings
Returns
A shared pointer to the constructed object

◆ Create() [3/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const SharedPtr< System::IO::Stream > &  stream,
const SharedPtr< XmlWriterSettings > &  settings = nullptr 
)
static

Constructs an instance of XmlWriter class and initializes it with the specified stream and settings.

Parameters
streamA stream to which the writer will write
settingsThe writer's settings
Returns
A shared pointer to the constructed object

◆ Create() [4/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const SharedPtr< System::Text::StringBuilder > &  builder,
const SharedPtr< XmlWriterSettings > &  settings 
)
static

Constructs an instance of XmlWriter class and initializes it with the specified StringBuilder and settings.

Parameters
builderA StringBuilder to which the writer will write
settingsThe writer's settings
Returns
A shared pointer to the constructed object

◆ Create() [5/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const SharedPtr< System::IO::TextWriter > &  text_writer)
static

Constructs an instance of XmlWriter class and initializes it with the specified TextWriter.

Parameters
text_writerA TextWriter to which the writer will write
Returns
A shared pointer to the constructed object

◆ Create() [6/6]

static ASPOSECPP_SHARED_API XmlWriter::Ptr System::Xml::XmlWriter::Create ( const SharedPtr< System::IO::TextWriter > &  text_writer,
const SharedPtr< XmlWriterSettings > &  settings 
)
static

Constructs an instance of XmlWriter class and initializes it with the specified TextWriter and settings.

Parameters
text_writerA TextWriter to which the writer will write
settingsThe writer's settings
Returns
A shared pointer to the constructed object

◆ Flush()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::Flush ( )
pure virtual

Flushes the content of the buffers to the underlying stream and also flushes the underlying stream.

Implemented in System::Xml::XmlTextWriter.

◆ get_WriteState()

virtual ASPOSECPP_SHARED_API WriteState System::Xml::XmlWriter::get_WriteState ( )
pure virtual

Returns a value indicating the state of the current writer.

Implemented in System::Xml::XmlTextWriter.

◆ LookupPrefix()

virtual ASPOSECPP_SHARED_API String System::Xml::XmlWriter::LookupPrefix ( String  ns)
pure virtual

Gets the closest prefix defined in the current namespace scope for the specified namespace URI.

Parameters
nsThe namespace URI
Returns
The closest prefix defined in the current namespace scope for ns

Implemented in System::Xml::XmlTextWriter.

◆ WriteAttributes()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteAttributes ( SharedPtr< XmlReader reader,
bool  defattr 
)
pure virtual

Writes out all the attributes found at the current position in the XmlReader.

Parameters
readerThe XmlReader from which to copy the attributes.
defattrtrue to copy the default attributes from the XmlReader; otherwise, false.

Implemented in System::Xml::XmlTextWriter.

◆ WriteAttributeString() [1/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteAttributeString ( String  localName,
String  value 
)
pure virtual

Writes out an attribute with the specified local name and value.

Parameters
localNameThe attribute's local name
valueThe attribute's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteAttributeString() [2/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteAttributeString ( String  localName,
String  ns,
String  value 
)
pure virtual

Writes out an attribute with the specified local name and value and associates it with the specified namespace.

Parameters
localNameThe attribute's local name
nsThe namespace to associate the attribute with
valueThe attribute's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteAttributeString() [3/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteAttributeString ( String  prefix,
String  localName,
String  ns,
String  value 
)
pure virtual

Writes out an attribute with the specified prefix, local name and value and associates it with the specified namespace.

Parameters
prefixThe attribute's prefix
localNameThe attribute's local name
nsThe namespace to associate the attribute with
valueThe attribute's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteBase64()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteBase64 ( ArrayPtr< uint8_t >  buffer,
int  index,
int  count 
)
pure virtual

Base64-encodes the specified range of bytes in the specified byte array and writes out the resulting text.

Parameters
bufferA byte array
indexA 0-based index of the element in the array at which the range to encode begins
countThe number of elements in the range

Implemented in System::Xml::XmlTextWriter.

◆ WriteBinHex()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteBinHex ( ArrayPtr< uint8_t >  buffer,
int  index,
int  count 
)
pure virtual

Encodes the specified range of bytes in the specifie array as BinHex and writes out the resulting text.

Parameters
bufferA byte array
indexA 0-based index of the element in the array at which the range to encode begins
countThe number of elements in the range

Implemented in System::Xml::XmlTextWriter.

◆ WriteCData()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteCData ( String  text)
pure virtual

Writes out a CData node.

Parameters
textThe content of the node

Implemented in System::Xml::XmlTextWriter.

◆ WriteComment()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteComment ( String  text)
pure virtual

Writes out a comment node.

Parameters
textThe content of the node

Implemented in System::Xml::XmlTextWriter.

◆ WriteDocType()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteDocType ( String  name,
String  pubid,
String  sysid,
String  subset 
)
pure virtual

Writes out a DOCTYPE declaration with the specified name and attributes.

Parameters
nameThe name of DOCTYPE declaration
pubidThe public identifier of DOCTYPE declaration
sysidThe system identifier of DOCTYPE declaration
subsetThe subset parameter of DOCTYPE declaration

Implemented in System::Xml::XmlTextWriter.

◆ WriteElementString() [1/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteElementString ( String  localName,
String  value 
)
pure virtual

Writes out an element with the specified local name and value.

Parameters
localNameThe element's local name
valueThe element's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteElementString() [2/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteElementString ( String  localName,
String  ns,
String  value 
)
pure virtual

Writes out an element with the specified local name and value and associates it with the specified namespace.

Parameters
localNameThe element's local name
nsThe namespace to associate the element with
valueThe element's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteElementString() [3/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteElementString ( String  prefix,
String  localName,
String  ns,
String  value 
)
pure virtual

Writes out an element with the specified prefix, local name and value and associates it with the specified namespace.

Parameters
prefixThe attribute's prefix
localNameThe element's local name
nsThe namespace to associate the element with
valueThe element's value

Implemented in System::Xml::XmlTextWriter.

◆ WriteEndAttribute()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteEndAttribute ( )
pure virtual

Closes the previous WriteStartAttribute(System::String) call.

Implemented in System::Xml::XmlTextWriter.

◆ WriteEndDocument()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteEndDocument ( )
pure virtual

Closes all open elements and attributes and puts the writer in the Start state.

Implemented in System::Xml::XmlTextWriter.

◆ WriteEndElement()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteEndElement ( )
pure virtual

Closes an element and pops the corresponding namespace scope. If the element is empty, the short form of the closing tag is used.

Implemented in System::Xml::XmlTextWriter.

◆ WriteEntityRef()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteEntityRef ( String  name)
pure virtual

Writes out an entity reference as {ampersand}name;.

Parameters
nameThe name of the entity reference.

Implemented in System::Xml::XmlTextWriter.

◆ WriteFullEndElement()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteFullEndElement ( )
pure virtual

Closes an element and pops the corresponding namespace scope. The full form of closing tag is used.

Implemented in System::Xml::XmlTextWriter.

◆ WriteProcessingInstruction()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteProcessingInstruction ( String  name,
String  text 
)
pure virtual

Writes out a processing instruction with the specified name and text.

Parameters
nameThe name of the processing instruction
textThe text to be added to the processing instruction

Implemented in System::Xml::XmlTextWriter.

◆ WriteRaw() [1/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteRaw ( String  text)
pure virtual

Writes the specified string content without escaping the special characters.

Parameters
textThe text to write

Implemented in System::Xml::XmlTextWriter.

◆ WriteRaw() [2/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteRaw ( ArrayPtr< char_t >  buffer,
int  index,
int  count 
)
pure virtual

Writes the specified range of characters without escaping the special characters.

Parameters
bufferThe character array
indexA 0-based index at which the range to write begins
countThe number of characters in the range

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartAttribute()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartAttribute ( String  localName)
pure virtual

Writes the start of an attribute with the specified local name.

Parameters
localNameThe attribute's local name

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartDocument() [1/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartDocument ( )
pure virtual

Writes an XML declaration with version "1.0".

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartDocument() [2/2]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartDocument ( bool  standalone)
pure virtual

Writes an XML declaration with version "1.0" and the 'standalone' attribute with the specified value.

Parameters
standaloneThe value of the 'standalone' attribute in the XML declaration

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartElement() [1/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartElement ( String  localName)
pure virtual

Writes out a start tag of an element with the specified local name.

Parameters
localNameThe element's local name

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartElement() [2/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartElement ( String  localName,
String  ns 
)
pure virtual

Writes out a start tag of an element with the specified local name and associates it with the specified namespace.

Parameters
localNameThe element's local name
nsThe namespace to associate the element with

Implemented in System::Xml::XmlTextWriter.

◆ WriteStartElement() [3/3]

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteStartElement ( String  prefix,
String  localName,
String  ns 
)
pure virtual

Writes out a start tag of an element with the specified local name and prefix and associates it with the specified namespace.

Parameters
prefixThe element's prefix
localNameThe element's local name
nsThe namespace to associate the element with

Implemented in System::Xml::XmlTextWriter.

◆ WriteString()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteString ( String  text)
pure virtual

Writes the specified text content.

Parameters
textThe text to write

Implemented in System::Xml::XmlTextWriter.

◆ WriteWhitespace()

virtual ASPOSECPP_SHARED_API void System::Xml::XmlWriter::WriteWhitespace ( String  ws)
pure virtual

Writes the specified white spaces.

Parameters
wsThe string with white space characters to write

Implemented in System::Xml::XmlTextWriter.