The Labs \ Source Viewer \ SSCLI \ System.Xml.Schema \ SchemaEntity

  1. //------------------------------------------------------------------------------
  2. // <copyright file="SchemaEntity.cs" company="Microsoft">
  3. //
  4. // Copyright (c) 2006 Microsoft Corporation. All rights reserved.
  5. //
  6. // The use and distribution terms for this software are contained in the file
  7. // named license.txt, which can be found in the root of this distribution.
  8. // By using this software in any fashion, you are agreeing to be bound by the
  9. // terms of this license.
  10. //
  11. // You must not remove this notice, or any other, from this software.
  12. //
  13. // </copyright>
  14. // <owner current="true" primary="true">priyal</owner>
  15. //------------------------------------------------------------------------------
  16. namespace System.Xml.Schema
  17. {
  18.    
  19.     using System;
  20.     using System.Diagnostics;
  21.     using System.Net;
  22.    
  23.     internal sealed class SchemaEntity
  24.     {
  25.         private XmlQualifiedName name;
  26.         // Name of entity
  27.         private string url;
  28.         // Url for external entity (system id)
  29.         private string pubid;
  30.         // Pubid for external entity
  31.         private string text;
  32.         // Text for internal entity
  33.         private XmlQualifiedName ndata = XmlQualifiedName.Empty;
  34.         // NDATA identifier
  35.         private int lineNumber;
  36.         // line number
  37.         private int linePosition;
  38.         // character postion
  39.         private bool isParameter;
  40.         // parameter entity flag
  41.         private bool isExternal;
  42.         // external entity flag
  43.         private bool isProcessed;
  44.         // whether entity is being Processed. (infinite recurrsion check)
  45.         private bool isDeclaredInExternal;
  46.         // declared in external markup or not
  47.         private string baseURI;
  48.         private string declaredURI;
  49.        
  50.         internal SchemaEntity(XmlQualifiedName name, bool isParameter)
  51.         {
  52.             this.name = name;
  53.             this.isParameter = isParameter;
  54.         }
  55.        
  56.         static internal bool IsPredefinedEntity(string n)
  57.         {
  58.             return (n == "lt" || n == "gt" || n == "amp" || n == "apos" || n == "quot");
  59.         }
  60.        
  61.         internal XmlQualifiedName Name {
  62.             get { return name; }
  63.         }
  64.        
  65.         internal string Url {
  66.             get { return url; }
  67.             set {
  68.                 url = value;
  69.                 isExternal = true;
  70.             }
  71.         }
  72.        
  73.         internal string Pubid {
  74.             get { return pubid; }
  75.             set { pubid = value; }
  76.         }
  77.        
  78.         internal bool IsProcessed {
  79.             get { return isProcessed; }
  80.             set { isProcessed = value; }
  81.         }
  82.        
  83.         internal bool IsExternal {
  84.             get { return isExternal; }
  85.             set { isExternal = value; }
  86.         }
  87.        
  88.         internal bool DeclaredInExternal {
  89.             get { return isDeclaredInExternal; }
  90.             set { isDeclaredInExternal = value; }
  91.         }
  92.        
  93.         internal bool IsParEntity {
  94.             get { return isParameter; }
  95.             set { isParameter = value; }
  96.         }
  97.        
  98.         internal XmlQualifiedName NData {
  99.             get { return ndata; }
  100.             set { ndata = value; }
  101.         }
  102.        
  103.         internal string Text {
  104.             get { return text; }
  105.             set {
  106.                 text = value;
  107.                 isExternal = false;
  108.             }
  109.         }
  110.        
  111.         internal int Line {
  112.             get { return lineNumber; }
  113.             set { lineNumber = value; }
  114.         }
  115.        
  116.         internal int Pos {
  117.             get { return linePosition; }
  118.             set { linePosition = value; }
  119.         }
  120.        
  121.         internal string BaseURI {
  122.             get { return (baseURI == null) ? String.Empty : baseURI; }
  123.             set { baseURI = value; }
  124.         }
  125.        
  126.         internal string DeclaredURI {
  127.             get { return (declaredURI == null) ? String.Empty : declaredURI; }
  128.             set { declaredURI = value; }
  129.         }
  130.     }
  131.    
  132. }

Developer Fusion