Represents a writer that provides a fast, non-cached, forward-only way of generating streams or files containing XML data that conforms to the W3C Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations. More...

Inherits System::Xml::XmlWriter.

Public Types

using Ptr = SharedPtr< XmlTextWriter >
 An alias for shared pointer to an instance of this class. More...
 
- Public Types inherited from System::Xml::XmlWriter
using Ptr = SharedPtr< XmlWriter >
 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...
 

Public Member Functions

ASPOSECPP_SHARED_API SharedPtr< IO::Streamget_BaseStream ()
 Returns the underlying stream object. More...
 
ASPOSECPP_SHARED_API bool get_Namespaces ()
 Returns a value indicating whether to do namespace support. More...
 
ASPOSECPP_SHARED_API void set_Namespaces (bool value)
 Sets a value indicating whether to do namespace support. More...
 
ASPOSECPP_SHARED_API System::Xml::Formatting get_Formatting ()
 Indicates how the output is formatted. More...
 
ASPOSECPP_SHARED_API void set_Formatting (System::Xml::Formatting value)
 Indicates how the output is formatted. More...
 
ASPOSECPP_SHARED_API int32_t get_Indentation ()
 Returns how many IndentChars to write for each level in the hierarchy when XmlTextWriter::set_Formatting is set to Formatting::Indented. More...
 
ASPOSECPP_SHARED_API void set_Indentation (int32_t value)
 Sets how many IndentChars to write for each level in the hierarchy when XmlTextWriter::set_Formatting is set to Formatting::Indented. More...
 
ASPOSECPP_SHARED_API char16_t get_IndentChar ()
 Returns which character to use for indenting when XmlTextWriter::set_Formatting is set to Formatting::Indented. More...
 
ASPOSECPP_SHARED_API void set_IndentChar (char16_t value)
 Sets which character to use for indenting when XmlTextWriter::set_Formatting is set to Formatting::Indented. More...
 
ASPOSECPP_SHARED_API char16_t get_QuoteChar ()
 Returns which character to use to quote attribute values. More...
 
ASPOSECPP_SHARED_API void set_QuoteChar (char16_t value)
 Sets which character to use to quote attribute values. More...
 
ASPOSECPP_SHARED_API System::Xml::WriteState get_WriteState () override
 Returns the state of the writer. More...
 
ASPOSECPP_SHARED_API System::Xml::XmlSpace get_XmlSpace () override
 Returns an XmlSpace representing the current xml:space scope. More...
 
ASPOSECPP_SHARED_API String get_XmlLang () override
 Returns the current xml:lang scope. More...
 
ASPOSECPP_SHARED_API XmlTextWriter (const SharedPtr< IO::Stream > &w, const SharedPtr< Text::Encoding > &encoding)
 Creates an instance of the XmlTextWriter class using the specified stream and encoding. More...
 
ASPOSECPP_SHARED_API XmlTextWriter (const String &filename, const SharedPtr< Text::Encoding > &encoding)
 Creates an instance of the XmlTextWriter class using the specified file. More...
 
ASPOSECPP_SHARED_API XmlTextWriter (const SharedPtr< IO::TextWriter > &w)
 Creates an instance of the XmlTextWriter class using the specified TextWriter. More...
 
ASPOSECPP_SHARED_API void WriteStartDocument () override
 Writes the XML declaration with the version "1.0". More...
 
ASPOSECPP_SHARED_API void WriteStartDocument (bool standalone) override
 Writes the XML declaration with the version "1.0" and the standalone attribute. More...
 
ASPOSECPP_SHARED_API void WriteEndDocument () override
 Closes any open elements or attributes and puts the writer back in the Start state. More...
 
ASPOSECPP_SHARED_API void WriteDocType (const String &name, const String &pubid, const String &sysid, const String &subset) override
 Writes the DOCTYPE declaration with the specified name and optional attributes. More...
 
ASPOSECPP_SHARED_API void WriteStartElement (const String &prefix, const String &localName, const String &ns) override
 Writes the specified start tag and associates it with the given namespace and prefix. More...
 
ASPOSECPP_SHARED_API void WriteEndElement () override
 Closes one element and pops the corresponding namespace scope. More...
 
ASPOSECPP_SHARED_API void WriteFullEndElement () override
 Closes one element and pops the corresponding namespace scope. More...
 
ASPOSECPP_SHARED_API void WriteStartAttribute (const String &prefix, const String &localName, const String &ns) override
 Writes the start of an attribute. More...
 
ASPOSECPP_SHARED_API void WriteEndAttribute () override
 Closes the previous XmlTextWriter::WriteStartAttribute call. More...
 
ASPOSECPP_SHARED_API void WriteCData (String text) override
 Writes out a <![CDATA[...]]> block containing the specified text. More...
 
ASPOSECPP_SHARED_API void WriteComment (String text) override
 Writes out a comment containing the specified text. More...
 
ASPOSECPP_SHARED_API void WriteProcessingInstruction (String name, String text) override
 Writes out a processing instruction with a space between the name and text as follows: <?name text?>. More...
 
ASPOSECPP_SHARED_API void WriteEntityRef (const String &name) override
 Writes out an entity reference as &name;. More...
 
ASPOSECPP_SHARED_API void WriteCharEntity (char16_t ch) override
 Forces the generation of a character entity for the specified Unicode character value. More...
 
ASPOSECPP_SHARED_API void WriteWhitespace (String ws) override
 Writes out the given white space. More...
 
ASPOSECPP_SHARED_API void WriteString (const String &text) override
 Writes the given text content. More...
 
ASPOSECPP_SHARED_API void WriteSurrogateCharEntity (char16_t lowChar, char16_t highChar) override
 Generates and writes the surrogate character entity for the surrogate character pair. More...
 
ASPOSECPP_SHARED_API void WriteChars (ArrayPtr< char16_t > buffer, int32_t index, int32_t count) override
 Writes text one buffer at a time. More...
 
ASPOSECPP_SHARED_API void WriteRaw (ArrayPtr< char16_t > buffer, int32_t index, int32_t count) override
 Writes raw markup manually from a character buffer. More...
 
ASPOSECPP_SHARED_API void WriteRaw (const String &data) override
 Writes raw markup manually from a string. More...
 
ASPOSECPP_SHARED_API void WriteBase64 (ArrayPtr< uint8_t > buffer, int32_t index, int32_t count) override
 Encodes the specified binary bytes as base64 and writes out the resulting text. More...
 
ASPOSECPP_SHARED_API void WriteBinHex (ArrayPtr< uint8_t > buffer, int32_t index, int32_t count) override
 Encodes the specified binary bytes as binhex and writes out the resulting text. More...
 
ASPOSECPP_SHARED_API void Close () override
 Closes this stream and the underlying stream. More...
 
ASPOSECPP_SHARED_API void Flush () override
 Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream. More...
 
ASPOSECPP_SHARED_API void WriteName (const String &name) override
 Writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation. More...
 
ASPOSECPP_SHARED_API void WriteQualifiedName (const String &localName, const String &ns) override
 Writes out the namespace-qualified name. This method looks up the prefix that is in scope for the given namespace. More...
 
ASPOSECPP_SHARED_API String LookupPrefix (String ns) override
 Returns the closest prefix defined in the current namespace scope for the namespace URI. More...
 
ASPOSECPP_SHARED_API void WriteNmToken (const String &name) override
 Writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation. More...
 
- Public Member Functions inherited from System::Xml::XmlWriter
virtual ASPOSECPP_SHARED_API SharedPtr< XmlWriterSettingsget_Settings ()
 Returns the XmlWriterSettings object used to create this XmlWriter instance. More...
 
ASPOSECPP_SHARED_API void WriteStartElement (const String &localName, const String &ns)
 When overridden in a derived class, writes the specified start tag and associates it with the given namespace. More...
 
ASPOSECPP_SHARED_API void WriteStartElement (const String &localName)
 When overridden in a derived class, writes out a start tag with the specified local name. More...
 
ASPOSECPP_SHARED_API void WriteAttributeString (const String &localName, const String &ns, const String &value)
 When overridden in a derived class, writes an attribute with the specified local name, namespace URI, and value. More...
 
ASPOSECPP_SHARED_API void WriteAttributeString (const String &localName, const String &value)
 When overridden in a derived class, writes out the attribute with the specified local name and value. More...
 
ASPOSECPP_SHARED_API void WriteAttributeString (const String &prefix, const String &localName, const String &ns, const String &value)
 When overridden in a derived class, writes out the attribute with the specified prefix, local name, namespace URI, and value. More...
 
ASPOSECPP_SHARED_API void WriteStartAttribute (const String &localName, const String &ns)
 Writes the start of an attribute with the specified local name and namespace URI. More...
 
ASPOSECPP_SHARED_API void WriteStartAttribute (const String &localName)
 Writes the start of an attribute with the specified local name. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (SharedPtr< Object > value)
 Writes the object value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (const String &value)
 Writes a String value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (bool value)
 Writes a Boolean value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (DateTime value)
 Writes a DateTime value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (DateTimeOffset value)
 Writes a DateTimeOffset value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (double value)
 Writes a Double value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (float value)
 Writes a single-precision floating-point number. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (Decimal value)
 Writes a Decimal value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (int32_t value)
 Writes a Int32 value. More...
 
virtual ASPOSECPP_SHARED_API void WriteValue (int64_t value)
 Writes a Int64 value. More...
 
virtual ASPOSECPP_SHARED_API void WriteAttributes (SharedPtr< XmlReader > reader, bool defattr)
 When overridden in a derived class, writes out all the attributes found at the current position in the XmlReader. More...
 
virtual ASPOSECPP_SHARED_API void WriteNode (SharedPtr< XmlReader > reader, bool defattr)
 When overridden in a derived class, copies everything from the reader to the writer and moves the reader to the start of the next sibling. More...
 
virtual ASPOSECPP_SHARED_API void WriteNode (SharedPtr< XPath::XPathNavigator > navigator, bool defattr)
 Copies everything from the XPathNavigator object to the writer. The position of the XPathNavigator remains unchanged. More...
 
ASPOSECPP_SHARED_API void WriteElementString (const String &localName, const String &value)
 Writes an element with the specified local name and value. More...
 
ASPOSECPP_SHARED_API void WriteElementString (const String &localName, const String &ns, const String &value)
 Writes an element with the specified local name, namespace URI, and value. More...
 
ASPOSECPP_SHARED_API void WriteElementString (const String &prefix, const String &localName, const String &ns, const String &value)
 Writes an element with the specified prefix, local name, namespace URI, and value. More...
 
ASPOSECPP_SHARED_API void Dispose () override
 Releases all resources used by the current instance of the XmlWriter class. 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 reference 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 int32_t GetHashCode () const
 Analog of C# Object.GetHashCode() method. Enables hashing of custom objects. More...
 
virtual ASPOSECPP_SHARED_API String ToString () 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 (uint32_t argument)
 Set n'th template argument a weak pointer (rather than shared). Allows switching pointers in containers to weak mode. More...
 
virtual ASPOSECPP_SHARED_API bool FastCast (const Details::FastRttiBase &helper, void **out_ptr) const
 For internal purposes only. More...
 
template<>
bool Equals (float const &objA, float const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool Equals (double const &objA, double const &objB)
 Emulates C#-style floating point comparison where two NaNs are considered equal even though according to IEC 60559:1989 NaN is not equal to any value, including NaN. More...
 
template<>
bool ReferenceEquals (String const &str, std::nullptr_t)
 Specialization of Object::ReferenceEquals for case of string and nullptr. More...
 
template<>
bool ReferenceEquals (String const &str1, String const &str2)
 Specialization of Object::ReferenceEquals for case of strings. More...
 

Protected Member Functions

virtual ASPOSECPP_SHARED_API ~XmlTextWriter ()
 
- Protected Member Functions inherited from System::Xml::XmlWriter
virtual ASPOSECPP_SHARED_API void Dispose (bool disposing)
 Optionally releases all resources used by the current instance of the XmlWriter class. More...
 
virtual ASPOSECPP_SHARED_API ~XmlWriter ()
 

Additional Inherited Members

- Static Public Member Functions inherited from System::Xml::XmlWriter
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const String &outputFileName)
 Creates a new XmlWriter instance using the specified filename. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const String &outputFileName, SharedPtr< XmlWriterSettings > settings)
 Creates a new XmlWriter instance using the filename and XmlWriterSettings object. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< IO::Stream > &output)
 Creates a new XmlWriter instance using the specified stream. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< IO::Stream > &output, SharedPtr< XmlWriterSettings > settings)
 Creates a new XmlWriter instance using the stream and XmlWriterSettings object. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< IO::TextWriter > &output)
 Creates a new XmlWriter instance using the specified TextWriter. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< IO::TextWriter > &output, SharedPtr< XmlWriterSettings > settings)
 Creates a new XmlWriter instance using the TextWriter and XmlWriterSettings objects. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< Text::StringBuilder > &output)
 Creates a new XmlWriter instance using the specified Text::StringBuilder. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< Text::StringBuilder > &output, SharedPtr< XmlWriterSettings > settings)
 Creates a new XmlWriter instance using the Text::StringBuilder and XmlWriterSettings objects. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< XmlWriter > &output)
 Creates a new XmlWriter instance using the specified XmlWriter object. More...
 
static ASPOSECPP_SHARED_API SharedPtr< XmlWriterCreate (const SharedPtr< XmlWriter > &output, SharedPtr< XmlWriterSettings > settings)
 Creates a new XmlWriter instance using the specified XmlWriter and XmlWriterSettings objects. More...
 
- 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 ()
 Implements C# typeof(System.Object) construct. More...
 

Detailed Description

Represents a writer that provides a fast, non-cached, forward-only way of generating streams or files containing XML data that conforms to the W3C Extensible Markup Language (XML) 1.0 and the Namespaces in XML recommendations.

Remarks
It is recommended to use the XmlWriter class instead.
Attention
Objects of this class should only be allocated using System::MakeObject() function. Never create instances 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

◆ XmlTextWriter() [1/3]

ASPOSECPP_SHARED_API System::Xml::XmlTextWriter::XmlTextWriter ( const SharedPtr< IO::Stream > &  w,
const SharedPtr< Text::Encoding > &  encoding 
)

Creates an instance of the XmlTextWriter class using the specified stream and encoding.

Parameters
wThe stream to which you want to write.
encodingThe encoding to generate. If encoding is nullptr it writes out the stream as UTF-8 and omits the encoding attribute from the ProcessingInstruction.
Exceptions
ArgumentExceptionThe encoding is not supported or the stream cannot be written to.
ArgumentNullExceptionw is nullptr.

◆ XmlTextWriter() [2/3]

ASPOSECPP_SHARED_API System::Xml::XmlTextWriter::XmlTextWriter ( const String filename,
const SharedPtr< Text::Encoding > &  encoding 
)

Creates an instance of the XmlTextWriter class using the specified file.

Parameters
filenameThe filename to write to. If the file exists, it truncates it and overwrites it with the new content.
encodingThe encoding to generate. If encoding is nullptr it writes the file out as UTF-8 and omits the encoding attribute from the ProcessingInstruction.
Exceptions
ArgumentExceptionThe encoding is not supported; the filename is empty, contains only white space, or contains one or more invalid characters.
UnauthorizedAccessExceptionAccess is denied.
ArgumentNullExceptionThe filename is nullptr.
DirectoryNotFoundExceptionThe directory to write to is not found.
IOExceptionThe filename includes an incorrect or invalid syntax for file name, directory name, or volume label syntax.
SecurityExceptionThe caller does not have the required permission.

◆ XmlTextWriter() [3/3]

ASPOSECPP_SHARED_API System::Xml::XmlTextWriter::XmlTextWriter ( const SharedPtr< IO::TextWriter > &  w)

Creates an instance of the XmlTextWriter class using the specified TextWriter.

Parameters
wThe TextWriter to write to. It is assumed that the TextWriter is already set to the correct encoding.

◆ ~XmlTextWriter()

virtual ASPOSECPP_SHARED_API System::Xml::XmlTextWriter::~XmlTextWriter ( )
protectedvirtual

Member Function Documentation

◆ Close()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::Close ( )
overridevirtual

Closes this stream and the underlying stream.

Reimplemented from System::Xml::XmlWriter.

◆ Flush()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::Flush ( )
overridevirtual

Flushes whatever is in the buffer to the underlying streams and also flushes the underlying stream.

Implements System::Xml::XmlWriter.

◆ get_BaseStream()

ASPOSECPP_SHARED_API SharedPtr<IO::Stream> System::Xml::XmlTextWriter::get_BaseStream ( )

Returns the underlying stream object.

Returns
The stream to which the XmlTextWriter is writing or nullptr if the XmlTextWriter was constructed using a TextWriter that does not inherit from the StreamWriter class.

◆ get_Formatting()

ASPOSECPP_SHARED_API System::Xml::Formatting System::Xml::XmlTextWriter::get_Formatting ( )

Indicates how the output is formatted.

Returns
One of the Formatting values. The default is Formatting::None (no special formatting).

◆ get_Indentation()

ASPOSECPP_SHARED_API int32_t System::Xml::XmlTextWriter::get_Indentation ( )

Returns how many IndentChars to write for each level in the hierarchy when XmlTextWriter::set_Formatting is set to Formatting::Indented.

Returns
Number of IndentChars for each level. The default is 2.

◆ get_IndentChar()

ASPOSECPP_SHARED_API char16_t System::Xml::XmlTextWriter::get_IndentChar ( )

Returns which character to use for indenting when XmlTextWriter::set_Formatting is set to Formatting::Indented.

Returns
The character to use for indenting. The default is space.

◆ get_Namespaces()

ASPOSECPP_SHARED_API bool System::Xml::XmlTextWriter::get_Namespaces ( )

Returns a value indicating whether to do namespace support.

Returns
true to support namespaces; otherwise, false. The default is true.

◆ get_QuoteChar()

ASPOSECPP_SHARED_API char16_t System::Xml::XmlTextWriter::get_QuoteChar ( )

Returns which character to use to quote attribute values.

Returns
The character to use to quote attribute values. This must be a single quote ' or a double quote ". The default is a double quote.

◆ get_WriteState()

ASPOSECPP_SHARED_API System::Xml::WriteState System::Xml::XmlTextWriter::get_WriteState ( )
overridevirtual

Returns the state of the writer.

Returns
One of the WriteState values.

Implements System::Xml::XmlWriter.

◆ get_XmlLang()

ASPOSECPP_SHARED_API String System::Xml::XmlTextWriter::get_XmlLang ( )
overridevirtual

Returns the current xml:lang scope.

Returns
The current xml:lang or nullptr if there is no xml:lang in the current scope.

Reimplemented from System::Xml::XmlWriter.

◆ get_XmlSpace()

ASPOSECPP_SHARED_API System::Xml::XmlSpace System::Xml::XmlTextWriter::get_XmlSpace ( )
overridevirtual

Returns an XmlSpace representing the current xml:space scope.

Returns
An XmlSpace representing the current xml:space scope.
Value Meaning
None This is the default if no xml:space scope exists.
Default The current scope is xml:space="default".
Preserve The current scope is xml:space="preserve".

Reimplemented from System::Xml::XmlWriter.

◆ LookupPrefix()

ASPOSECPP_SHARED_API String System::Xml::XmlTextWriter::LookupPrefix ( String  ns)
overridevirtual

Returns the closest prefix defined in the current namespace scope for the namespace URI.

Parameters
nsNamespace URI whose prefix you want to find.
Returns
The matching prefix. Or nullptr if no matching namespace URI is found in the current scope.
Exceptions
ArgumentExceptionns is either nullptr or String::Empty.

Implements System::Xml::XmlWriter.

◆ set_Formatting()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::set_Formatting ( System::Xml::Formatting  value)

Indicates how the output is formatted.

Parameters
valueThe value to set.

◆ set_Indentation()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::set_Indentation ( int32_t  value)

Sets how many IndentChars to write for each level in the hierarchy when XmlTextWriter::set_Formatting is set to Formatting::Indented.

Parameters
valueThe value to set.
Exceptions
ArgumentExceptionSetting value to a negative value.

◆ set_IndentChar()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::set_IndentChar ( char16_t  value)

Sets which character to use for indenting when XmlTextWriter::set_Formatting is set to Formatting::Indented.

Parameters
valueThe value to set.

◆ set_Namespaces()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::set_Namespaces ( bool  value)

Sets a value indicating whether to do namespace support.

Parameters
valueThe value to set.
Exceptions
InvalidOperationExceptionYou can only change this value when in the WriteState::Start state.

◆ set_QuoteChar()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::set_QuoteChar ( char16_t  value)

Sets which character to use to quote attribute values.

Parameters
valueThe value to set.
Exceptions
ArgumentExceptionSetting this value to something other than either a single or double quote.

◆ WriteBase64()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteBase64 ( ArrayPtr< uint8_t >  buffer,
int32_t  index,
int32_t  count 
)
overridevirtual

Encodes the specified binary bytes as base64 and writes out the resulting text.

Parameters
bufferByte array to encode.
indexThe position within the buffer indicating the start of the bytes to write.
countThe number of bytes to write.
Exceptions
ArgumentNullExceptionbuffer is nullptr.
ArgumentExceptionThe buffer length minus index is less than count.
ArgumentOutOfRangeExceptionindex or count is less than zero.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Implements System::Xml::XmlWriter.

◆ WriteBinHex()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteBinHex ( ArrayPtr< uint8_t >  buffer,
int32_t  index,
int32_t  count 
)
overridevirtual

Encodes the specified binary bytes as binhex and writes out the resulting text.

Parameters
bufferByte array to encode.
indexThe position in the buffer indicating the start of the bytes to write.
countThe number of bytes to write.
Exceptions
ArgumentNullExceptionbuffer is nullptr.
ArgumentExceptionThe buffer length minus index is less than count.
ArgumentOutOfRangeExceptionindex or count is less than zero.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Reimplemented from System::Xml::XmlWriter.

◆ WriteCData()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteCData ( String  text)
overridevirtual

Writes out a <![CDATA[...]]> block containing the specified text.

Parameters
textText to place inside the CDATA block.
Exceptions
ArgumentExceptionThe text would result in a non-well formed XML document.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Implements System::Xml::XmlWriter.

◆ WriteCharEntity()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteCharEntity ( char16_t  ch)
overridevirtual

Forces the generation of a character entity for the specified Unicode character value.

Parameters
chUnicode character for which to generate a character entity.
Exceptions
ArgumentExceptionThe character is in the surrogate pair character range, 0xd800 - 0xdfff; or the text would result in a non-well formed XML document.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Implements System::Xml::XmlWriter.

◆ WriteChars()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteChars ( ArrayPtr< char16_t >  buffer,
int32_t  index,
int32_t  count 
)
overridevirtual

Writes text one buffer at a time.

Parameters
bufferCharacter array containing the text to write.
indexThe position in the buffer indicating the start of the text to write.
countThe number of characters to write.
Exceptions
ArgumentNullExceptionbuffer is nullptr.
ArgumentOutOfRangeExceptionindex or count is less than zero. The buffer length minus index is less than count; the call results in surrogate pair characters being split or an invalid surrogate pair being written.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Implements System::Xml::XmlWriter.

◆ WriteComment()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteComment ( String  text)
overridevirtual

Writes out a comment containing the specified text.

Parameters
textText to place inside the comment.
Exceptions
ArgumentExceptionThe text would result in a non-well formed XML document.
InvalidOperationExceptionThe XmlTextWriter::get_WriteState value is WriteState::Closed.

Implements System::Xml::XmlWriter.

◆ WriteDocType()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteDocType ( const String name,
const String pubid,
const String sysid,
const String subset 
)
overridevirtual

Writes the DOCTYPE declaration with the specified name and optional attributes.

Parameters
nameThe name of the DOCTYPE. This must be non-empty.
pubidIf non-null it also writes PUBLIC "pubid" "sysid" where pubid and sysid are replaced with the value of the given arguments.
sysidIf pubid is null and sysid is non-null it writes SYSTEM "sysid" where sysid is replaced with the value of this argument.
subsetIf non-null it writes [subset] where subset is replaced with the value of this argument.
Exceptions
InvalidOperationExceptionThis method was called outside the prolog (after the root element).
ArgumentExceptionname is nullptr or String::Empty or the value for name would result in invalid XML.

Implements System::Xml::XmlWriter.

◆ WriteEndAttribute()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteEndAttribute ( )
overridevirtual

Closes the previous XmlTextWriter::WriteStartAttribute call.

Implements System::Xml::XmlWriter.

◆ WriteEndDocument()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteEndDocument ( )
overridevirtual

Closes any open elements or attributes and puts the writer back in the Start state.

Exceptions
ArgumentExceptionThe XML document is invalid.

Implements System::Xml::XmlWriter.

◆ WriteEndElement()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteEndElement ( )
overridevirtual

Closes one element and pops the corresponding namespace scope.

Implements System::Xml::XmlWriter.

◆ WriteEntityRef()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteEntityRef ( const String name)
overridevirtual

Writes out an entity reference as &name;.

Parameters
nameName of the entity reference.
Exceptions
ArgumentExceptionThe text would result in a non-well formed XML document or name is either nullptr or String::Empty.

Implements System::Xml::XmlWriter.

◆ WriteFullEndElement()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteFullEndElement ( )
overridevirtual

Closes one element and pops the corresponding namespace scope.

Implements System::Xml::XmlWriter.

◆ WriteName()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteName ( const String name)
overridevirtual

Writes out the specified name, ensuring it is a valid name according to the W3C XML 1.0 recommendation.

Parameters
nameName to write.
Exceptions
ArgumentExceptionname is not a valid XML name; or name is either nullptr or String::Empty.

Reimplemented from System::Xml::XmlWriter.

◆ WriteNmToken()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteNmToken ( const String name)
overridevirtual

Writes out the specified name, ensuring it is a valid NmToken according to the W3C XML 1.0 recommendation.

Parameters
nameName to write.
Exceptions
ArgumentExceptionname is not a valid NmToken; or name is either nullptr or String::Empty.

Reimplemented from System::Xml::XmlWriter.

◆ WriteProcessingInstruction()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteProcessingInstruction ( String  name,
String  text 
)
overridevirtual

Writes out a processing instruction with a space between the name and text as follows: <?name text?>.

Parameters
nameName of the processing instruction.
textText to include in the processing instruction.
Exceptions
ArgumentExceptionThe text would result in a non-well formed XML document. name is either nullptr or String::Empty.

This method is being used to create an XML declaration after XmlTextWriter::WriteStartDocument has already been called.

Implements System::Xml::XmlWriter.

◆ WriteQualifiedName()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteQualifiedName ( const String localName,
const String ns 
)
overridevirtual

Writes out the namespace-qualified name. This method looks up the prefix that is in scope for the given namespace.

Parameters
localNameThe local name to write.
nsThe namespace URI to associate with the name.
Exceptions
ArgumentExceptionlocalName is either nullptr or String::Empty. localName is not a valid name according to the W3C Namespaces spec.

Reimplemented from System::Xml::XmlWriter.

◆ WriteRaw() [1/2]

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteRaw ( ArrayPtr< char16_t >  buffer,
int32_t  index,
int32_t  count 
)
overridevirtual

Writes raw markup manually from a character buffer.

Parameters
bufferCharacter array containing the text to write.
indexThe position within the buffer indicating the start of the text to write.
countThe number of characters to write.
Exceptions
ArgumentNullExceptionbuffer is nullptr.
ArgumentOutOfRangeExceptionindex or count is less than zero. The buffer length minus index is less than count.

Implements System::Xml::XmlWriter.

◆ WriteRaw() [2/2]

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteRaw ( const String data)
overridevirtual

Writes raw markup manually from a string.

Parameters
dataString containing the text to write.

Implements System::Xml::XmlWriter.

◆ WriteStartAttribute()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteStartAttribute ( const String prefix,
const String localName,
const String ns 
)
overridevirtual

Writes the start of an attribute.

Parameters
prefixNamespace prefix of the attribute.
localNameLocalName of the attribute.
nsNamespaceURI of the attribute.
Exceptions
ArgumentExceptionlocalName is either nullptr or String::Empty.

Implements System::Xml::XmlWriter.

◆ WriteStartDocument() [1/2]

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteStartDocument ( )
overridevirtual

Writes the XML declaration with the version "1.0".

Exceptions
InvalidOperationExceptionThis is not the first write method called after the constructor.

Implements System::Xml::XmlWriter.

◆ WriteStartDocument() [2/2]

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteStartDocument ( bool  standalone)
overridevirtual

Writes the XML declaration with the version "1.0" and the standalone attribute.

Parameters
standaloneIf true, it writes "standalone=yes"; if false, it writes "standalone=no".
Exceptions
InvalidOperationExceptionThis is not the first write method called after the constructor.

Implements System::Xml::XmlWriter.

◆ WriteStartElement()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteStartElement ( const String prefix,
const String localName,
const String ns 
)
overridevirtual

Writes the specified start tag and associates it with the given namespace and prefix.

Parameters
prefixThe namespace prefix of the element.
localNameThe local name of the element.
nsThe namespace URI to associate with the element. If this namespace is already in scope and has an associated prefix then the writer automatically writes that prefix also.
Exceptions
InvalidOperationExceptionThe writer is closed.

Implements System::Xml::XmlWriter.

◆ WriteString()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteString ( const String text)
overridevirtual

Writes the given text content.

Parameters
textText to write.
Exceptions
ArgumentExceptionThe text string contains an invalid surrogate pair.

Implements System::Xml::XmlWriter.

◆ WriteSurrogateCharEntity()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteSurrogateCharEntity ( char16_t  lowChar,
char16_t  highChar 
)
overridevirtual

Generates and writes the surrogate character entity for the surrogate character pair.

Parameters
lowCharThe low surrogate. This must be a value between 0xDC00 and 0xDFFF.
highCharThe high surrogate. This must be a value between 0xD800 and 0xDBFF.
Exceptions
ExceptionAn invalid surrogate character pair was passed.

Implements System::Xml::XmlWriter.

◆ WriteWhitespace()

ASPOSECPP_SHARED_API void System::Xml::XmlTextWriter::WriteWhitespace ( String  ws)
overridevirtual

Writes out the given white space.

Parameters
wsThe string of white space characters.
Exceptions
ArgumentExceptionThe string contains non-white space characters.

Implements System::Xml::XmlWriter.