Fan.Sys.OutStream.writeXml C# (CSharp) Method

writeXml() public method

public writeXml ( string s, long mask ) : OutStream
s string
mask long
return OutStream
        public OutStream writeXml(string s, long mask)
        {
            bool escNewlines  = (mask & m_xmlEscNewlines) != 0;
              bool escQuotes    = (mask & m_xmlEscQuotes) != 0;
              bool escUnicode   = (mask & m_xmlEscUnicode) != 0;
              int len = s.Length;

              for (int i=0; i<len; ++i)
              {
            int ch = s[i];
            switch (ch)
            {
              // table switch on control chars
              case  0: case  1: case  2: case  3: case  4: case  5: case  6:
              case  7: case  8: /*case  9: case 10:*/ case 11: case 12: /*case 13:*/
              case 14: case 15: case 16: case 17: case 18: case 19: case 20:
              case 21: case 22: case 23: case 24: case 25: case 26: case 27:
              case 28: case 29: case 30: case 31:
            writeXmlEsc(ch);
            break;

              // newlines
              case '\n': case '\r':
            if (!escNewlines)
              writeChar((char)ch);
            else
              writeXmlEsc(ch);
            break;

              // space
              case ' ':
            writeChar(' ');
            break;

              // table switch on common ASCII chars
              case '!': case '#': case '$': case '%': case '(': case ')': case '*':
              case '+': case ',': case '-': case '.': case '/': case '0': case '1':
              case '2': case '3': case '4': case '5': case '6': case '7': case '8':
              case '9': case ':': case ';': case '=': case '?': case '@': case 'A':
              case 'B': case 'C': case 'D': case 'E': case 'F': case 'G': case 'H':
              case 'I': case 'J': case 'K': case 'L': case 'M': case 'N': case 'O':
              case 'P': case 'Q': case 'R': case 'S': case 'T': case 'U': case 'V':
              case 'W': case 'X': case 'Y': case 'Z': case '[': case '\\': case ']':
              case '^': case '_': case '`': case 'a': case 'b': case 'c': case 'd':
              case 'e': case 'f': case 'g': case 'h': case 'i': case 'j': case 'k':
              case 'l': case 'm': case 'n': case 'o': case 'p': case 'q': case 'r':
              case 's': case 't': case 'u': case 'v': case 'w': case 'x': case 'y':
              case 'z': case '{': case '|': case '}': case '~':
            writeChar((char)ch);
            break;

              // XML control characters
              case '<':
            writeChars("&lt;");
            break;
              case '>':
            if (i > 0 && s[i-1] != ']') writeChar('>');
            else writeChars("&gt;");
            break;
              case '&':
            writeChars("&amp;");
            break;
              case '"':
            if (!escQuotes) writeChar((char)ch);
            else writeChars("&quot;");
            break;
              case '\'':
            if (!escQuotes) writeChar((char)ch);
            else writeChars("&#39;");
            break;

              // default
              default:
            if (ch <= 0xf7 || !escUnicode)
              writeChar((char)ch);
            else
              writeXmlEsc(ch);
            break;
            }
              }
              return this;
        }

Same methods

OutStream::writeXml ( string s ) : OutStream