MetadataSet.cs 50 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062
  1. //------------------------------------------------------------
  2. // Copyright (c) Microsoft Corporation. All rights reserved.
  3. //------------------------------------------------------------
  4. namespace System.ServiceModel.Description
  5. {
  6. using System;
  7. using System.ServiceModel.Channels;
  8. using System.ServiceModel;
  9. using System.Collections.Generic;
  10. using System.Collections.ObjectModel;
  11. using System.Text;
  12. using System.Xml;
  13. using System.Xml.Serialization;
  14. [XmlRoot(MetadataStrings.MetadataExchangeStrings.Metadata, Namespace = MetadataStrings.MetadataExchangeStrings.Namespace)]
  15. public class MetadataSet : IXmlSerializable
  16. {
  17. Collection<MetadataSection> sections = new Collection<MetadataSection>();
  18. Collection<XmlAttribute> attributes = new Collection<XmlAttribute>();
  19. internal ServiceMetadataExtension.WriteFilter WriteFilter;
  20. public MetadataSet()
  21. {
  22. }
  23. public MetadataSet(IEnumerable<MetadataSection> sections)
  24. : this()
  25. {
  26. if (sections != null)
  27. foreach (MetadataSection section in sections)
  28. this.sections.Add(section);
  29. }
  30. [XmlElement(MetadataStrings.MetadataExchangeStrings.MetadataSection, Namespace = MetadataStrings.MetadataExchangeStrings.Namespace)]
  31. public Collection<MetadataSection> MetadataSections
  32. {
  33. get { return this.sections; }
  34. }
  35. [XmlAnyAttribute]
  36. public Collection<XmlAttribute> Attributes
  37. {
  38. get { return attributes; }
  39. }
  40. //Reader should write the <Metadata> element
  41. public void WriteTo(XmlWriter writer)
  42. {
  43. WriteMetadataSet(writer, true);
  44. }
  45. //Reader is on the <Metadata> element
  46. public static MetadataSet ReadFrom(XmlReader reader)
  47. {
  48. if (reader == null)
  49. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader");
  50. MetadataSetSerializer xs = new MetadataSetSerializer();
  51. return (MetadataSet)xs.Deserialize(reader);
  52. }
  53. System.Xml.Schema.XmlSchema IXmlSerializable.GetSchema()
  54. {
  55. return null;
  56. }
  57. //Reader in on the <Metadata> element
  58. void IXmlSerializable.ReadXml(XmlReader reader)
  59. {
  60. if (reader == null)
  61. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("reader");
  62. MetadataSetSerializer xs = new MetadataSetSerializer();
  63. xs.ProcessOuterElement = false;
  64. MetadataSet metadataSet = (MetadataSet)xs.Deserialize(reader);
  65. this.sections = metadataSet.MetadataSections;
  66. this.attributes = metadataSet.Attributes;
  67. }
  68. //Reader has just written the <Metadata> element can still write attribs here
  69. void IXmlSerializable.WriteXml(XmlWriter writer)
  70. {
  71. WriteMetadataSet(writer, false);
  72. }
  73. void WriteMetadataSet(XmlWriter writer, bool processOuterElement)
  74. {
  75. if (writer == null)
  76. throw DiagnosticUtility.ExceptionUtility.ThrowHelperArgumentNull("writer");
  77. if (this.WriteFilter != null)
  78. {
  79. ServiceMetadataExtension.WriteFilter filter = this.WriteFilter.CloneWriteFilter();
  80. filter.Writer = writer;
  81. writer = filter;
  82. }
  83. MetadataSetSerializer xs = new MetadataSetSerializer();
  84. xs.ProcessOuterElement = processOuterElement;
  85. xs.Serialize(writer, this);
  86. }
  87. }
  88. #pragma warning disable
  89. /* The Following code is a generated XmlSerializer. It was created by:
  90. * (*) Removing the IXmlSerializable from MetadataSet
  91. * (*) Changing typeof(WsdlNS.ServiceDescription) and typeof(XsdNS.XmlSchema) to typeof(string) and typeof(int) on the [XmlElement] attribute on
  92. * MetadataSection.Metadata
  93. * (*) running "sgen /a:System.ServiceModel.dll /t:System.ServiceModel.Description.MetadataSet /k" to generate the code
  94. * (*) Revert the above changes.
  95. *
  96. * and then doing the following to fix it up:
  97. *
  98. * (*) Change the classes from public to internal
  99. * (*) Add ProcessOuterElement to MetadataSetSerializer, XmlSerializationReaderMetadataSet, and XmlSerializationWriterMetadataSet
  100. private bool processOuterElement = true;
  101. public bool ProcessOuterElement
  102. {
  103. get { return processOuterElement; }
  104. set { processOuterElement = value; }
  105. }
  106. * (*) Set XmlSerializationWriterMetadataSet.ProcessOuterElement with MetadataSetSerializer.ProcessOuterElement
  107. * in MetadataSetSerializer.Serialize
  108. * ((XmlSerializationWriterMetadataSet)writer).ProcessOuterElement = this.processOuterElement;
  109. *
  110. * (*) Set XmlSerializationReaderMetadataSet.ProcessOuterElement with MetadataSetSerializer.ProcessOuterElement
  111. * in MetadataSetSerializer.Deserialize
  112. * ((XmlSerializationReaderMetadataSet)reader).ProcessOuterElement = this.processOuterElement;
  113. * (*) wrap anything in XmlSerializationWriterMetadataSet.Write*_Metadata or
  114. * XmlSerializationWriterMetadataSet.Write*_MetadataSet that outputs the outer
  115. * element with "if(processOuterElement) { ... }"
  116. * (*) Add "!processOuterElement ||" to checks for name and namespace of the outer element
  117. * in XmlSerializationReaderMetadataSet.Read*_Metadata and XmlSerializationReaderMetadataSet.Read*_MetadataSet.
  118. * (*) In XmlSerializationReaderMetadataSet.Read*_MetadataSection change the if clause writing the XmlSchema from
  119. *
  120. * o.@Metadata = Reader.ReadElementString();
  121. * to
  122. o.@Metadata = System.Xml.Schema.XmlSchema.Read(this.Reader, null);
  123. if (this.Reader.NodeType == XmlNodeType.EndElement)
  124. ReadEndElement();
  125. *
  126. *
  127. * (*) In XmlSerializationWriterMetadataSet Write*_MetadataSection change
  128. *
  129. * else if (o.@Metadata is global::System.Int32) {
  130. * WriteElementString(@"schema", @"http://www.w3.org/2001/XMLSchema", ((global::System.Int32)o.@Metadata));
  131. * }
  132. * to
  133. *
  134. else if (o.@Metadata is global::System.Xml.Schema.XmlSchema)
  135. {
  136. ((global::System.Xml.Schema.XmlSchema)o.@Metadata).Write(this.Writer);
  137. }
  138. *
  139. * (*) In XmlSerializationReaderMetadataSet.Read*_MetadataSection change
  140. *
  141. * o.@Metadata = Reader.ReadElementString();
  142. * to
  143. * o.@Metadata = System.Web.Services.Description.ServiceDescription.Read(this.Reader);
  144. *
  145. *
  146. * (*) In XmlSerializationWriterMetadataSet Write*_MetadataSection change
  147. *
  148. * if (o.@Metadata is global::System.String) {
  149. * WriteElementString(@"definitions", @"http://schemas.xmlsoap.org/wsdl/", ((global::System.String)o.@Metadata));
  150. * }
  151. * to
  152. *
  153. if (o.@Metadata is global::System.Web.Services.Description.ServiceDescription) {
  154. ((global::System.Web.Services.Description.ServiceDescription)o.@Metadata).Write(this.Writer);
  155. }
  156. *
  157. * (*) In XmlSerializationWriterMetadataSet Write*_MetadataSet add
  158. *
  159. XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();
  160. xmlSerializerNamespaces.Add(MetadataStrings.MetadataExchangeStrings.Prefix, MetadataStrings.MetadataExchangeStrings.Namespace);
  161. WriteNamespaceDeclarations(xmlSerializerNamespaces);
  162. *
  163. * immediately before 'if (needType) WriteXsiType(@"MetadataSet", @"http://schemas.xmlsoap.org/ws/2004/09/mex");'
  164. *
  165. * (*) In XmlSerializationWriterMetadataSet Write*_MetadataSection replace
  166. * WriteStartElement(n, ns, o, false, null);
  167. * with
  168. *
  169. XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();
  170. xmlSerializerNamespaces.Add(string.Empty, string.Empty);
  171. WriteStartElement(n, ns, o, true, xmlSerializerNamespaces);
  172. *
  173. * (*) In XmlSerializationWriterMetadataSet Write*_XmlSchema replace
  174. * WriteStartElement(n, ns, o, false, o.@Namespaces);
  175. * with
  176. * WriteStartElement(n, ns, o, true, o.@Namespaces);
  177. *
  178. * (*) Make sure you keep the #pragmas surrounding this block.
  179. *
  180. * (*) Make sure to replace all exception throw with standard throw using DiagnosticUtility.ExceptionUtility.ThrowHelperError;
  181. * change:
  182. *
  183. * throw CreateUnknownTypeException(*);
  184. * to
  185. * throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException(*));
  186. *
  187. * throw CreateUnknownNodeException();
  188. * to
  189. * throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownNodeException());
  190. *
  191. * throw CreateInvalidAnyTypeException(elem);
  192. * to
  193. * throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateInvalidAnyTypeException(elem));
  194. *
  195. * throw CreateInvalidEnumValueException(*);
  196. * to
  197. * throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateInvalidEnumValueException(*));
  198. *
  199. * throw CreateUnknownConstantException(*);
  200. * to
  201. * throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownConstantException(*));
  202. *
  203. */
  204. internal class XmlSerializationWriterMetadataSet : System.Xml.Serialization.XmlSerializationWriter
  205. {
  206. bool processOuterElement = true;
  207. public bool ProcessOuterElement
  208. {
  209. get { return processOuterElement; }
  210. set { processOuterElement = value; }
  211. }
  212. public void Write68_Metadata(object o)
  213. {
  214. if (processOuterElement)
  215. {
  216. WriteStartDocument();
  217. if (o == null)
  218. {
  219. WriteNullTagLiteral(@"Metadata", @"http://schemas.xmlsoap.org/ws/2004/09/mex");
  220. return;
  221. }
  222. TopLevelElement();
  223. }
  224. Write67_MetadataSet(@"Metadata", @"http://schemas.xmlsoap.org/ws/2004/09/mex", ((global::System.ServiceModel.Description.MetadataSet)o), true, false);
  225. }
  226. void Write67_MetadataSet(string n, string ns, global::System.ServiceModel.Description.MetadataSet o, bool isNullable, bool needType)
  227. {
  228. if (processOuterElement)
  229. {
  230. if ((object)o == null)
  231. {
  232. if (isNullable) WriteNullTagLiteral(n, ns);
  233. return;
  234. }
  235. }
  236. if (!needType)
  237. {
  238. System.Type t = o.GetType();
  239. if (t == typeof(global::System.ServiceModel.Description.MetadataSet))
  240. {
  241. }
  242. else
  243. {
  244. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException(o));
  245. }
  246. }
  247. if (processOuterElement)
  248. {
  249. WriteStartElement(n, ns, o, false, null);
  250. }
  251. XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();
  252. xmlSerializerNamespaces.Add(MetadataStrings.MetadataExchangeStrings.Prefix, MetadataStrings.MetadataExchangeStrings.Namespace);
  253. WriteNamespaceDeclarations(xmlSerializerNamespaces);
  254. if (needType) WriteXsiType(@"MetadataSet", @"http://schemas.xmlsoap.org/ws/2004/09/mex");
  255. {
  256. global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute> a = (global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute>)o.@Attributes;
  257. if (a != null)
  258. {
  259. for (int i = 0; i < ((System.Collections.ICollection)a).Count; i++)
  260. {
  261. global::System.Xml.XmlAttribute ai = (global::System.Xml.XmlAttribute)a[i];
  262. WriteXmlAttribute(ai, o);
  263. }
  264. }
  265. }
  266. {
  267. global::System.Collections.ObjectModel.Collection<global::System.ServiceModel.Description.MetadataSection> a = (global::System.Collections.ObjectModel.Collection<global::System.ServiceModel.Description.MetadataSection>)o.@MetadataSections;
  268. if (a != null)
  269. {
  270. for (int ia = 0; ia < ((System.Collections.ICollection)a).Count; ia++)
  271. {
  272. Write66_MetadataSection(@"MetadataSection", @"http://schemas.xmlsoap.org/ws/2004/09/mex", ((global::System.ServiceModel.Description.MetadataSection)a[ia]), false, false);
  273. }
  274. }
  275. }
  276. if (processOuterElement)
  277. {
  278. WriteEndElement(o);
  279. }
  280. }
  281. void Write66_MetadataSection(string n, string ns, global::System.ServiceModel.Description.MetadataSection o, bool isNullable, bool needType)
  282. {
  283. if ((object)o == null)
  284. {
  285. if (isNullable) WriteNullTagLiteral(n, ns);
  286. return;
  287. }
  288. if (!needType)
  289. {
  290. System.Type t = o.GetType();
  291. if (t == typeof(global::System.ServiceModel.Description.MetadataSection))
  292. {
  293. }
  294. else
  295. {
  296. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException(o));
  297. }
  298. }
  299. XmlSerializerNamespaces xmlSerializerNamespaces = new XmlSerializerNamespaces();
  300. xmlSerializerNamespaces.Add(string.Empty, string.Empty);
  301. WriteStartElement(n, ns, o, true, xmlSerializerNamespaces);
  302. if (needType) WriteXsiType(@"MetadataSection", @"http://schemas.xmlsoap.org/ws/2004/09/mex");
  303. {
  304. global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute> a = (global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute>)o.@Attributes;
  305. if (a != null)
  306. {
  307. for (int i = 0; i < ((System.Collections.ICollection)a).Count; i++)
  308. {
  309. global::System.Xml.XmlAttribute ai = (global::System.Xml.XmlAttribute)a[i];
  310. WriteXmlAttribute(ai, o);
  311. }
  312. }
  313. }
  314. WriteAttribute(@"Dialect", @"", ((global::System.String)o.@Dialect));
  315. WriteAttribute(@"Identifier", @"", ((global::System.String)o.@Identifier));
  316. {
  317. if (o.@Metadata is global::System.Web.Services.Description.ServiceDescription)
  318. {
  319. ((global::System.Web.Services.Description.ServiceDescription)o.@Metadata).Write(this.Writer);
  320. }
  321. else if (o.@Metadata is global::System.Xml.Schema.XmlSchema)
  322. {
  323. ((global::System.Xml.Schema.XmlSchema)o.@Metadata).Write(this.Writer);
  324. }
  325. else if (o.@Metadata is global::System.ServiceModel.Description.MetadataSet)
  326. {
  327. Write67_MetadataSet(@"Metadata", @"http://schemas.xmlsoap.org/ws/2004/09/mex", ((global::System.ServiceModel.Description.MetadataSet)o.@Metadata), false, false);
  328. }
  329. else if (o.@Metadata is global::System.ServiceModel.Description.MetadataLocation)
  330. {
  331. Write65_MetadataLocation(@"Location", @"http://schemas.xmlsoap.org/ws/2004/09/mex", ((global::System.ServiceModel.Description.MetadataLocation)o.@Metadata), false, false);
  332. }
  333. else if (o.@Metadata is global::System.ServiceModel.Description.MetadataReference)
  334. {
  335. WriteSerializable((System.Xml.Serialization.IXmlSerializable)((global::System.ServiceModel.Description.MetadataReference)o.@Metadata), @"MetadataReference", @"http://schemas.xmlsoap.org/ws/2004/09/mex", false, true);
  336. }
  337. else if (o.@Metadata is System.Xml.XmlElement)
  338. {
  339. System.Xml.XmlElement elem = (System.Xml.XmlElement)o.@Metadata;
  340. if ((elem) is System.Xml.XmlNode || elem == null)
  341. {
  342. WriteElementLiteral((System.Xml.XmlNode)elem, @"", null, false, true);
  343. }
  344. else
  345. {
  346. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateInvalidAnyTypeException(elem));
  347. }
  348. }
  349. else
  350. {
  351. if (o.@Metadata != null)
  352. {
  353. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException(o.@Metadata));
  354. }
  355. }
  356. }
  357. WriteEndElement(o);
  358. }
  359. void Write65_MetadataLocation(string n, string ns, global::System.ServiceModel.Description.MetadataLocation o, bool isNullable, bool needType)
  360. {
  361. if ((object)o == null)
  362. {
  363. if (isNullable) WriteNullTagLiteral(n, ns);
  364. return;
  365. }
  366. if (!needType)
  367. {
  368. System.Type t = o.GetType();
  369. if (t == typeof(global::System.ServiceModel.Description.MetadataLocation))
  370. {
  371. }
  372. else
  373. {
  374. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException(o));
  375. }
  376. }
  377. WriteStartElement(n, ns, o, false, null);
  378. if (needType) WriteXsiType(@"MetadataLocation", @"http://schemas.xmlsoap.org/ws/2004/09/mex");
  379. {
  380. WriteValue(((global::System.String)o.@Location));
  381. }
  382. WriteEndElement(o);
  383. }
  384. protected override void InitCallbacks()
  385. {
  386. }
  387. }
  388. internal class XmlSerializationReaderMetadataSet : System.Xml.Serialization.XmlSerializationReader
  389. {
  390. bool processOuterElement = true;
  391. public bool ProcessOuterElement
  392. {
  393. get { return processOuterElement; }
  394. set { processOuterElement = value; }
  395. }
  396. public object Read68_Metadata()
  397. {
  398. object o = null;
  399. Reader.MoveToContent();
  400. if (Reader.NodeType == System.Xml.XmlNodeType.Element)
  401. {
  402. if (!processOuterElement || (((object)Reader.LocalName == (object)id1_Metadata && (object)Reader.NamespaceURI == (object)id2_Item)))
  403. {
  404. o = Read67_MetadataSet(true, true);
  405. }
  406. else
  407. {
  408. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownNodeException());
  409. }
  410. }
  411. else
  412. {
  413. UnknownNode(null, @"http://schemas.xmlsoap.org/ws/2004/09/mex:Metadata");
  414. }
  415. return (object)o;
  416. }
  417. global::System.ServiceModel.Description.MetadataSet Read67_MetadataSet(bool isNullable, bool checkType)
  418. {
  419. System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
  420. bool isNull = false;
  421. if (isNullable) isNull = ReadNull();
  422. if (checkType)
  423. {
  424. if (!processOuterElement || (xsiType == null || ((object)((System.Xml.XmlQualifiedName)xsiType).Name == (object)id3_MetadataSet && (object)((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item)))
  425. {
  426. }
  427. else
  428. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType));
  429. }
  430. if (isNull) return null;
  431. global::System.ServiceModel.Description.MetadataSet o;
  432. o = new global::System.ServiceModel.Description.MetadataSet();
  433. global::System.Collections.ObjectModel.Collection<global::System.ServiceModel.Description.MetadataSection> a_0 = (global::System.Collections.ObjectModel.Collection<global::System.ServiceModel.Description.MetadataSection>)o.@MetadataSections;
  434. global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute> a_1 = (global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute>)o.@Attributes;
  435. bool[] paramsRead = new bool[2];
  436. while (Reader.MoveToNextAttribute())
  437. {
  438. if (!IsXmlnsAttribute(Reader.Name))
  439. {
  440. System.Xml.XmlAttribute attr = (System.Xml.XmlAttribute)Document.ReadNode(Reader);
  441. ParseWsdlArrayType(attr);
  442. a_1.Add(attr);
  443. }
  444. }
  445. Reader.MoveToElement();
  446. if (Reader.IsEmptyElement)
  447. {
  448. Reader.Skip();
  449. return o;
  450. }
  451. Reader.ReadStartElement();
  452. Reader.MoveToContent();
  453. int whileIterations0 = 0;
  454. int readerCount0 = ReaderCount;
  455. while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
  456. {
  457. if (Reader.NodeType == System.Xml.XmlNodeType.Element)
  458. {
  459. if (((object)Reader.LocalName == (object)id4_MetadataSection && (object)Reader.NamespaceURI == (object)id2_Item))
  460. {
  461. if ((object)(a_0) == null) Reader.Skip(); else a_0.Add(Read66_MetadataSection(false, true));
  462. }
  463. else
  464. {
  465. UnknownNode((object)o, @"http://schemas.xmlsoap.org/ws/2004/09/mex:MetadataSection");
  466. }
  467. }
  468. else
  469. {
  470. UnknownNode((object)o, @"http://schemas.xmlsoap.org/ws/2004/09/mex:MetadataSection");
  471. }
  472. Reader.MoveToContent();
  473. CheckReaderCount(ref whileIterations0, ref readerCount0);
  474. }
  475. ReadEndElement();
  476. return o;
  477. }
  478. global::System.ServiceModel.Description.MetadataSection Read66_MetadataSection(bool isNullable, bool checkType)
  479. {
  480. System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
  481. bool isNull = false;
  482. if (isNullable) isNull = ReadNull();
  483. if (checkType)
  484. {
  485. if (xsiType == null || ((object)((System.Xml.XmlQualifiedName)xsiType).Name == (object)id4_MetadataSection && (object)((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
  486. {
  487. }
  488. else
  489. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType));
  490. }
  491. if (isNull) return null;
  492. global::System.ServiceModel.Description.MetadataSection o;
  493. o = new global::System.ServiceModel.Description.MetadataSection();
  494. global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute> a_0 = (global::System.Collections.ObjectModel.Collection<global::System.Xml.XmlAttribute>)o.@Attributes;
  495. bool[] paramsRead = new bool[4];
  496. while (Reader.MoveToNextAttribute())
  497. {
  498. if (!paramsRead[1] && ((object)Reader.LocalName == (object)id5_Dialect && (object)Reader.NamespaceURI == (object)id6_Item))
  499. {
  500. o.@Dialect = Reader.Value;
  501. paramsRead[1] = true;
  502. }
  503. else if (!paramsRead[2] && ((object)Reader.LocalName == (object)id7_Identifier && (object)Reader.NamespaceURI == (object)id6_Item))
  504. {
  505. o.@Identifier = Reader.Value;
  506. paramsRead[2] = true;
  507. }
  508. else if (!IsXmlnsAttribute(Reader.Name))
  509. {
  510. System.Xml.XmlAttribute attr = (System.Xml.XmlAttribute)Document.ReadNode(Reader);
  511. ParseWsdlArrayType(attr);
  512. a_0.Add(attr);
  513. }
  514. }
  515. Reader.MoveToElement();
  516. if (Reader.IsEmptyElement)
  517. {
  518. Reader.Skip();
  519. return o;
  520. }
  521. Reader.ReadStartElement();
  522. Reader.MoveToContent();
  523. int whileIterations1 = 0;
  524. int readerCount1 = ReaderCount;
  525. while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
  526. {
  527. if (Reader.NodeType == System.Xml.XmlNodeType.Element)
  528. {
  529. if (!paramsRead[3] && ((object)Reader.LocalName == (object)id1_Metadata && (object)Reader.NamespaceURI == (object)id2_Item))
  530. {
  531. o.@Metadata = Read67_MetadataSet(false, true);
  532. paramsRead[3] = true;
  533. }
  534. else if (!paramsRead[3] && ((object)Reader.LocalName == (object)id8_schema && (object)Reader.NamespaceURI == (object)id9_Item))
  535. {
  536. o.@Metadata = System.Xml.Schema.XmlSchema.Read(this.Reader, null);
  537. if (this.Reader.NodeType == XmlNodeType.EndElement)
  538. ReadEndElement();
  539. paramsRead[3] = true;
  540. }
  541. else if (!paramsRead[3] && ((object)Reader.LocalName == (object)id10_definitions && (object)Reader.NamespaceURI == (object)id11_Item))
  542. {
  543. {
  544. o.@Metadata = System.Web.Services.Description.ServiceDescription.Read(this.Reader);
  545. }
  546. paramsRead[3] = true;
  547. }
  548. else if (!paramsRead[3] && ((object)Reader.LocalName == (object)id12_MetadataReference && (object)Reader.NamespaceURI == (object)id2_Item))
  549. {
  550. o.@Metadata = (global::System.ServiceModel.Description.MetadataReference)ReadSerializable((System.Xml.Serialization.IXmlSerializable)System.Activator.CreateInstance(typeof(global::System.ServiceModel.Description.MetadataReference), System.Reflection.BindingFlags.Instance | System.Reflection.BindingFlags.Public | System.Reflection.BindingFlags.CreateInstance | System.Reflection.BindingFlags.NonPublic, null, new object[0], null));
  551. paramsRead[3] = true;
  552. }
  553. else if (!paramsRead[3] && ((object)Reader.LocalName == (object)id13_Location && (object)Reader.NamespaceURI == (object)id2_Item))
  554. {
  555. o.@Metadata = Read65_MetadataLocation(false, true);
  556. paramsRead[3] = true;
  557. }
  558. else
  559. {
  560. o.@Metadata = (global::System.Xml.XmlElement)ReadXmlNode(false);
  561. }
  562. }
  563. else
  564. {
  565. UnknownNode((object)o, @"http://schemas.xmlsoap.org/ws/2004/09/mex:Metadata, http://www.w3.org/2001/XMLSchema:schema, http://schemas.xmlsoap.org/wsdl/:definitions, http://schemas.xmlsoap.org/ws/2004/09/mex:MetadataReference, http://schemas.xmlsoap.org/ws/2004/09/mex:Location");
  566. }
  567. Reader.MoveToContent();
  568. CheckReaderCount(ref whileIterations1, ref readerCount1);
  569. }
  570. ReadEndElement();
  571. return o;
  572. }
  573. global::System.ServiceModel.Description.MetadataLocation Read65_MetadataLocation(bool isNullable, bool checkType)
  574. {
  575. System.Xml.XmlQualifiedName xsiType = checkType ? GetXsiType() : null;
  576. bool isNull = false;
  577. if (isNullable) isNull = ReadNull();
  578. if (checkType)
  579. {
  580. if (xsiType == null || ((object)((System.Xml.XmlQualifiedName)xsiType).Name == (object)id14_MetadataLocation && (object)((System.Xml.XmlQualifiedName)xsiType).Namespace == (object)id2_Item))
  581. {
  582. }
  583. else
  584. throw DiagnosticUtility.ExceptionUtility.ThrowHelperError(CreateUnknownTypeException((System.Xml.XmlQualifiedName)xsiType));
  585. }
  586. if (isNull) return null;
  587. global::System.ServiceModel.Description.MetadataLocation o;
  588. o = new global::System.ServiceModel.Description.MetadataLocation();
  589. bool[] paramsRead = new bool[1];
  590. while (Reader.MoveToNextAttribute())
  591. {
  592. if (!IsXmlnsAttribute(Reader.Name))
  593. {
  594. UnknownNode((object)o);
  595. }
  596. }
  597. Reader.MoveToElement();
  598. if (Reader.IsEmptyElement)
  599. {
  600. Reader.Skip();
  601. return o;
  602. }
  603. Reader.ReadStartElement();
  604. Reader.MoveToContent();
  605. int whileIterations2 = 0;
  606. int readerCount2 = ReaderCount;
  607. while (Reader.NodeType != System.Xml.XmlNodeType.EndElement && Reader.NodeType != System.Xml.XmlNodeType.None)
  608. {
  609. string tmp = null;
  610. if (Reader.NodeType == System.Xml.XmlNodeType.Element)
  611. {
  612. UnknownNode((object)o, @"");
  613. }
  614. else if (Reader.NodeType == System.Xml.XmlNodeType.Text ||
  615. Reader.NodeType == System.Xml.XmlNodeType.CDATA ||
  616. Reader.NodeType == System.Xml.XmlNodeType.Whitespace ||
  617. Reader.NodeType == System.Xml.XmlNodeType.SignificantWhitespace)
  618. {
  619. tmp = ReadString(tmp, false);
  620. o.@Location = tmp;
  621. }
  622. else
  623. {
  624. UnknownNode((object)o, @"");
  625. }
  626. Reader.MoveToContent();
  627. CheckReaderCount(ref whileIterations2, ref readerCount2);
  628. }
  629. ReadEndElement();
  630. return o;
  631. }
  632. protected override void InitCallbacks()
  633. {
  634. }
  635. string id60_documentation;
  636. string id22_targetNamespace;
  637. string id10_definitions;
  638. string id65_lang;
  639. string id31_attribute;
  640. string id47_ref;
  641. string id4_MetadataSection;
  642. string id54_refer;
  643. string id83_union;
  644. string id127_Item;
  645. string id53_XmlSchemaKeyref;
  646. string id27_import;
  647. string id75_all;
  648. string id128_XmlSchemaSimpleContent;
  649. string id139_XmlSchemaInclude;
  650. string id78_namespace;
  651. string id18_attributeFormDefault;
  652. string id100_XmlSchemaFractionDigitsFacet;
  653. string id32_attributeGroup;
  654. string id64_XmlSchemaDocumentation;
  655. string id93_maxLength;
  656. string id49_type;
  657. string id86_XmlSchemaSimpleTypeRestriction;
  658. string id96_length;
  659. string id104_XmlSchemaLengthFacet;
  660. string id17_XmlSchema;
  661. string id134_public;
  662. string id77_XmlSchemaAnyAttribute;
  663. string id24_id;
  664. string id71_simpleContent;
  665. string id51_key;
  666. string id67_XmlSchemaKey;
  667. string id80_XmlSchemaAttribute;
  668. string id126_Item;
  669. string id23_version;
  670. string id121_XmlSchemaGroupRef;
  671. string id90_maxInclusive;
  672. string id116_memberTypes;
  673. string id20_finalDefault;
  674. string id120_any;
  675. string id112_XmlSchemaMaxExclusiveFacet;
  676. string id15_EndpointReference;
  677. string id45_name;
  678. string id122_XmlSchemaSequence;
  679. string id73_sequence;
  680. string id82_XmlSchemaSimpleType;
  681. string id48_substitutionGroup;
  682. string id111_XmlSchemaMinInclusiveFacet;
  683. string id7_Identifier;
  684. string id113_XmlSchemaSimpleTypeList;
  685. string id41_default;
  686. string id125_extension;
  687. string id16_Item;
  688. string id1000_Item;
  689. string id124_XmlSchemaComplexContent;
  690. string id72_complexContent;
  691. string id11_Item;
  692. string id25_include;
  693. string id34_simpleType;
  694. string id91_minExclusive;
  695. string id94_pattern;
  696. string id2_Item;
  697. string id95_enumeration;
  698. string id114_itemType;
  699. string id115_XmlSchemaSimpleTypeUnion;
  700. string id59_XmlSchemaAnnotation;
  701. string id28_notation;
  702. string id84_list;
  703. string id39_abstract;
  704. string id103_XmlSchemaWhiteSpaceFacet;
  705. string id110_XmlSchemaMaxInclusiveFacet;
  706. string id55_selector;
  707. string id43_fixed;
  708. string id57_XmlSchemaXPath;
  709. string id118_XmlSchemaAll;
  710. string id56_field;
  711. string id119_XmlSchemaChoice;
  712. string id123_XmlSchemaAny;
  713. string id132_XmlSchemaGroup;
  714. string id35_element;
  715. string id129_Item;
  716. string id30_annotation;
  717. string id44_form;
  718. string id21_elementFormDefault;
  719. string id98_totalDigits;
  720. string id88_maxExclusive;
  721. string id42_final;
  722. string id46_nillable;
  723. string id9_Item;
  724. string id61_appinfo;
  725. string id38_maxOccurs;
  726. string id70_mixed;
  727. string id87_base;
  728. string id13_Location;
  729. string id12_MetadataReference;
  730. string id97_whiteSpace;
  731. string id29_group;
  732. string id92_minLength;
  733. string id99_fractionDigits;
  734. string id137_schemaLocation;
  735. string id26_redefine;
  736. string id101_value;
  737. string id63_source;
  738. string id89_minInclusive;
  739. string id133_XmlSchemaNotation;
  740. string id52_keyref;
  741. string id33_complexType;
  742. string id135_system;
  743. string id50_unique;
  744. string id74_choice;
  745. string id66_Item;
  746. string id105_XmlSchemaEnumerationFacet;
  747. string id107_XmlSchemaMaxLengthFacet;
  748. string id36_XmlSchemaElement;
  749. string id106_XmlSchemaPatternFacet;
  750. string id37_minOccurs;
  751. string id130_Item;
  752. string id68_XmlSchemaUnique;
  753. string id131_XmlSchemaAttributeGroup;
  754. string id40_block;
  755. string id81_use;
  756. string id85_restriction;
  757. string id1_Metadata;
  758. string id69_XmlSchemaComplexType;
  759. string id117_XmlSchemaAttributeGroupRef;
  760. string id138_XmlSchemaRedefine;
  761. string id6_Item;
  762. string id102_XmlSchemaTotalDigitsFacet;
  763. string id58_xpath;
  764. string id5_Dialect;
  765. string id14_MetadataLocation;
  766. string id3_MetadataSet;
  767. string id79_processContents;
  768. string id76_anyAttribute;
  769. string id19_blockDefault;
  770. string id136_XmlSchemaImport;
  771. string id109_XmlSchemaMinExclusiveFacet;
  772. string id108_XmlSchemaMinLengthFacet;
  773. string id8_schema;
  774. string id62_XmlSchemaAppInfo;
  775. protected override void InitIDs()
  776. {
  777. id60_documentation = Reader.NameTable.Add(@"documentation");
  778. id22_targetNamespace = Reader.NameTable.Add(@"targetNamespace");
  779. id10_definitions = Reader.NameTable.Add(@"definitions");
  780. id65_lang = Reader.NameTable.Add(@"lang");
  781. id31_attribute = Reader.NameTable.Add(@"attribute");
  782. id47_ref = Reader.NameTable.Add(@"ref");
  783. id4_MetadataSection = Reader.NameTable.Add(@"MetadataSection");
  784. id54_refer = Reader.NameTable.Add(@"refer");
  785. id83_union = Reader.NameTable.Add(@"union");
  786. id127_Item = Reader.NameTable.Add(@"XmlSchemaComplexContentRestriction");
  787. id53_XmlSchemaKeyref = Reader.NameTable.Add(@"XmlSchemaKeyref");
  788. id27_import = Reader.NameTable.Add(@"import");
  789. id75_all = Reader.NameTable.Add(@"all");
  790. id128_XmlSchemaSimpleContent = Reader.NameTable.Add(@"XmlSchemaSimpleContent");
  791. id139_XmlSchemaInclude = Reader.NameTable.Add(@"XmlSchemaInclude");
  792. id78_namespace = Reader.NameTable.Add(@"namespace");
  793. id18_attributeFormDefault = Reader.NameTable.Add(@"attributeFormDefault");
  794. id100_XmlSchemaFractionDigitsFacet = Reader.NameTable.Add(@"XmlSchemaFractionDigitsFacet");
  795. id32_attributeGroup = Reader.NameTable.Add(@"attributeGroup");
  796. id64_XmlSchemaDocumentation = Reader.NameTable.Add(@"XmlSchemaDocumentation");
  797. id93_maxLength = Reader.NameTable.Add(@"maxLength");
  798. id49_type = Reader.NameTable.Add(@"type");
  799. id86_XmlSchemaSimpleTypeRestriction = Reader.NameTable.Add(@"XmlSchemaSimpleTypeRestriction");
  800. id96_length = Reader.NameTable.Add(@"length");
  801. id104_XmlSchemaLengthFacet = Reader.NameTable.Add(@"XmlSchemaLengthFacet");
  802. id17_XmlSchema = Reader.NameTable.Add(@"XmlSchema");
  803. id134_public = Reader.NameTable.Add(@"public");
  804. id77_XmlSchemaAnyAttribute = Reader.NameTable.Add(@"XmlSchemaAnyAttribute");
  805. id24_id = Reader.NameTable.Add(@"id");
  806. id71_simpleContent = Reader.NameTable.Add(@"simpleContent");
  807. id51_key = Reader.NameTable.Add(@"key");
  808. id67_XmlSchemaKey = Reader.NameTable.Add(@"XmlSchemaKey");
  809. id80_XmlSchemaAttribute = Reader.NameTable.Add(@"XmlSchemaAttribute");
  810. id126_Item = Reader.NameTable.Add(@"XmlSchemaComplexContentExtension");
  811. id23_version = Reader.NameTable.Add(@"version");
  812. id121_XmlSchemaGroupRef = Reader.NameTable.Add(@"XmlSchemaGroupRef");
  813. id90_maxInclusive = Reader.NameTable.Add(@"maxInclusive");
  814. id116_memberTypes = Reader.NameTable.Add(@"memberTypes");
  815. id20_finalDefault = Reader.NameTable.Add(@"finalDefault");
  816. id120_any = Reader.NameTable.Add(@"any");
  817. id112_XmlSchemaMaxExclusiveFacet = Reader.NameTable.Add(@"XmlSchemaMaxExclusiveFacet");
  818. id15_EndpointReference = Reader.NameTable.Add(@"EndpointReference");
  819. id45_name = Reader.NameTable.Add(@"name");
  820. id122_XmlSchemaSequence = Reader.NameTable.Add(@"XmlSchemaSequence");
  821. id73_sequence = Reader.NameTable.Add(@"sequence");
  822. id82_XmlSchemaSimpleType = Reader.NameTable.Add(@"XmlSchemaSimpleType");
  823. id48_substitutionGroup = Reader.NameTable.Add(@"substitutionGroup");
  824. id111_XmlSchemaMinInclusiveFacet = Reader.NameTable.Add(@"XmlSchemaMinInclusiveFacet");
  825. id7_Identifier = Reader.NameTable.Add(@"Identifier");
  826. id113_XmlSchemaSimpleTypeList = Reader.NameTable.Add(@"XmlSchemaSimpleTypeList");
  827. id41_default = Reader.NameTable.Add(@"default");
  828. id125_extension = Reader.NameTable.Add(@"extension");
  829. id16_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/ws/2004/08/addressing");
  830. id1000_Item = Reader.NameTable.Add(@"http://www.w3.org/2005/08/addressing");
  831. id124_XmlSchemaComplexContent = Reader.NameTable.Add(@"XmlSchemaComplexContent");
  832. id72_complexContent = Reader.NameTable.Add(@"complexContent");
  833. id11_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/wsdl/");
  834. id25_include = Reader.NameTable.Add(@"include");
  835. id34_simpleType = Reader.NameTable.Add(@"simpleType");
  836. id91_minExclusive = Reader.NameTable.Add(@"minExclusive");
  837. id94_pattern = Reader.NameTable.Add(@"pattern");
  838. id2_Item = Reader.NameTable.Add(@"http://schemas.xmlsoap.org/ws/2004/09/mex");
  839. id95_enumeration = Reader.NameTable.Add(@"enumeration");
  840. id114_itemType = Reader.NameTable.Add(@"itemType");
  841. id115_XmlSchemaSimpleTypeUnion = Reader.NameTable.Add(@"XmlSchemaSimpleTypeUnion");
  842. id59_XmlSchemaAnnotation = Reader.NameTable.Add(@"XmlSchemaAnnotation");
  843. id28_notation = Reader.NameTable.Add(@"notation");
  844. id84_list = Reader.NameTable.Add(@"list");
  845. id39_abstract = Reader.NameTable.Add(@"abstract");
  846. id103_XmlSchemaWhiteSpaceFacet = Reader.NameTable.Add(@"XmlSchemaWhiteSpaceFacet");
  847. id110_XmlSchemaMaxInclusiveFacet = Reader.NameTable.Add(@"XmlSchemaMaxInclusiveFacet");
  848. id55_selector = Reader.NameTable.Add(@"selector");
  849. id43_fixed = Reader.NameTable.Add(@"fixed");
  850. id57_XmlSchemaXPath = Reader.NameTable.Add(@"XmlSchemaXPath");
  851. id118_XmlSchemaAll = Reader.NameTable.Add(@"XmlSchemaAll");
  852. id56_field = Reader.NameTable.Add(@"field");
  853. id119_XmlSchemaChoice = Reader.NameTable.Add(@"XmlSchemaChoice");
  854. id123_XmlSchemaAny = Reader.NameTable.Add(@"XmlSchemaAny");
  855. id132_XmlSchemaGroup = Reader.NameTable.Add(@"XmlSchemaGroup");
  856. id35_element = Reader.NameTable.Add(@"element");
  857. id129_Item = Reader.NameTable.Add(@"XmlSchemaSimpleContentExtension");
  858. id30_annotation = Reader.NameTable.Add(@"annotation");
  859. id44_form = Reader.NameTable.Add(@"form");
  860. id21_elementFormDefault = Reader.NameTable.Add(@"elementFormDefault");
  861. id98_totalDigits = Reader.NameTable.Add(@"totalDigits");
  862. id88_maxExclusive = Reader.NameTable.Add(@"maxExclusive");
  863. id42_final = Reader.NameTable.Add(@"final");
  864. id46_nillable = Reader.NameTable.Add(@"nillable");
  865. id9_Item = Reader.NameTable.Add(@"http://www.w3.org/2001/XMLSchema");
  866. id61_appinfo = Reader.NameTable.Add(@"appinfo");
  867. id38_maxOccurs = Reader.NameTable.Add(@"maxOccurs");
  868. id70_mixed = Reader.NameTable.Add(@"mixed");
  869. id87_base = Reader.NameTable.Add(@"base");
  870. id13_Location = Reader.NameTable.Add(@"Location");
  871. id12_MetadataReference = Reader.NameTable.Add(@"MetadataReference");
  872. id97_whiteSpace = Reader.NameTable.Add(@"whiteSpace");
  873. id29_group = Reader.NameTable.Add(@"group");
  874. id92_minLength = Reader.NameTable.Add(@"minLength");
  875. id99_fractionDigits = Reader.NameTable.Add(@"fractionDigits");
  876. id137_schemaLocation = Reader.NameTable.Add(@"schemaLocation");
  877. id26_redefine = Reader.NameTable.Add(@"redefine");
  878. id101_value = Reader.NameTable.Add(@"value");
  879. id63_source = Reader.NameTable.Add(@"source");
  880. id89_minInclusive = Reader.NameTable.Add(@"minInclusive");
  881. id133_XmlSchemaNotation = Reader.NameTable.Add(@"XmlSchemaNotation");
  882. id52_keyref = Reader.NameTable.Add(@"keyref");
  883. id33_complexType = Reader.NameTable.Add(@"complexType");
  884. id135_system = Reader.NameTable.Add(@"system");
  885. id50_unique = Reader.NameTable.Add(@"unique");
  886. id74_choice = Reader.NameTable.Add(@"choice");
  887. id66_Item = Reader.NameTable.Add(@"http://www.w3.org/XML/1998/namespace");
  888. id105_XmlSchemaEnumerationFacet = Reader.NameTable.Add(@"XmlSchemaEnumerationFacet");
  889. id107_XmlSchemaMaxLengthFacet = Reader.NameTable.Add(@"XmlSchemaMaxLengthFacet");
  890. id36_XmlSchemaElement = Reader.NameTable.Add(@"XmlSchemaElement");
  891. id106_XmlSchemaPatternFacet = Reader.NameTable.Add(@"XmlSchemaPatternFacet");
  892. id37_minOccurs = Reader.NameTable.Add(@"minOccurs");
  893. id130_Item = Reader.NameTable.Add(@"XmlSchemaSimpleContentRestriction");
  894. id68_XmlSchemaUnique = Reader.NameTable.Add(@"XmlSchemaUnique");
  895. id131_XmlSchemaAttributeGroup = Reader.NameTable.Add(@"XmlSchemaAttributeGroup");
  896. id40_block = Reader.NameTable.Add(@"block");
  897. id81_use = Reader.NameTable.Add(@"use");
  898. id85_restriction = Reader.NameTable.Add(@"restriction");
  899. id1_Metadata = Reader.NameTable.Add(@"Metadata");
  900. id69_XmlSchemaComplexType = Reader.NameTable.Add(@"XmlSchemaComplexType");
  901. id117_XmlSchemaAttributeGroupRef = Reader.NameTable.Add(@"XmlSchemaAttributeGroupRef");
  902. id138_XmlSchemaRedefine = Reader.NameTable.Add(@"XmlSchemaRedefine");
  903. id6_Item = Reader.NameTable.Add(@"");
  904. id102_XmlSchemaTotalDigitsFacet = Reader.NameTable.Add(@"XmlSchemaTotalDigitsFacet");
  905. id58_xpath = Reader.NameTable.Add(@"xpath");
  906. id5_Dialect = Reader.NameTable.Add(@"Dialect");
  907. id14_MetadataLocation = Reader.NameTable.Add(@"MetadataLocation");
  908. id3_MetadataSet = Reader.NameTable.Add(@"MetadataSet");
  909. id79_processContents = Reader.NameTable.Add(@"processContents");
  910. id76_anyAttribute = Reader.NameTable.Add(@"anyAttribute");
  911. id19_blockDefault = Reader.NameTable.Add(@"blockDefault");
  912. id136_XmlSchemaImport = Reader.NameTable.Add(@"XmlSchemaImport");
  913. id109_XmlSchemaMinExclusiveFacet = Reader.NameTable.Add(@"XmlSchemaMinExclusiveFacet");
  914. id108_XmlSchemaMinLengthFacet = Reader.NameTable.Add(@"XmlSchemaMinLengthFacet");
  915. id8_schema = Reader.NameTable.Add(@"schema");
  916. id62_XmlSchemaAppInfo = Reader.NameTable.Add(@"XmlSchemaAppInfo");
  917. }
  918. }
  919. internal abstract class XmlSerializer1 : System.Xml.Serialization.XmlSerializer
  920. {
  921. protected override System.Xml.Serialization.XmlSerializationReader CreateReader()
  922. {
  923. return new XmlSerializationReaderMetadataSet();
  924. }
  925. protected override System.Xml.Serialization.XmlSerializationWriter CreateWriter()
  926. {
  927. return new XmlSerializationWriterMetadataSet();
  928. }
  929. }
  930. internal sealed class MetadataSetSerializer : XmlSerializer1
  931. {
  932. bool processOuterElement = true;
  933. public bool ProcessOuterElement
  934. {
  935. get { return processOuterElement; }
  936. set { processOuterElement = value; }
  937. }
  938. public override System.Boolean CanDeserialize(System.Xml.XmlReader xmlReader)
  939. {
  940. return xmlReader.IsStartElement(@"Metadata", @"http://schemas.xmlsoap.org/ws/2004/09/mex");
  941. }
  942. protected override void Serialize(object objectToSerialize, System.Xml.Serialization.XmlSerializationWriter writer)
  943. {
  944. ((XmlSerializationWriterMetadataSet)writer).ProcessOuterElement = this.processOuterElement;
  945. ((XmlSerializationWriterMetadataSet)writer).Write68_Metadata(objectToSerialize);
  946. }
  947. protected override object Deserialize(System.Xml.Serialization.XmlSerializationReader reader)
  948. {
  949. ((XmlSerializationReaderMetadataSet)reader).ProcessOuterElement = this.processOuterElement;
  950. return ((XmlSerializationReaderMetadataSet)reader).Read68_Metadata();
  951. }
  952. }
  953. internal class XmlSerializerContract : global::System.Xml.Serialization.XmlSerializerImplementation
  954. {
  955. public override global::System.Xml.Serialization.XmlSerializationReader Reader { get { return new XmlSerializationReaderMetadataSet(); } }
  956. public override global::System.Xml.Serialization.XmlSerializationWriter Writer { get { return new XmlSerializationWriterMetadataSet(); } }
  957. System.Collections.Hashtable readMethods = null;
  958. public override System.Collections.Hashtable ReadMethods
  959. {
  960. get
  961. {
  962. if (readMethods == null)
  963. {
  964. System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
  965. _tmp[@"System.ServiceModel.Description.MetadataSet:http://schemas.xmlsoap.org/ws/2004/09/mex:Metadata:True:"] = @"Read68_Metadata";
  966. if (readMethods == null) readMethods = _tmp;
  967. }
  968. return readMethods;
  969. }
  970. }
  971. System.Collections.Hashtable writeMethods = null;
  972. public override System.Collections.Hashtable WriteMethods
  973. {
  974. get
  975. {
  976. if (writeMethods == null)
  977. {
  978. System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
  979. _tmp[@"System.ServiceModel.Description.MetadataSet:http://schemas.xmlsoap.org/ws/2004/09/mex:Metadata:True:"] = @"Write68_Metadata";
  980. if (writeMethods == null) writeMethods = _tmp;
  981. }
  982. return writeMethods;
  983. }
  984. }
  985. System.Collections.Hashtable typedSerializers = null;
  986. public override System.Collections.Hashtable TypedSerializers
  987. {
  988. get
  989. {
  990. if (typedSerializers == null)
  991. {
  992. System.Collections.Hashtable _tmp = new System.Collections.Hashtable();
  993. _tmp.Add(@"System.ServiceModel.Description.MetadataSet:http://schemas.xmlsoap.org/ws/2004/09/mex:Metadata:True:", new MetadataSetSerializer());
  994. if (typedSerializers == null) typedSerializers = _tmp;
  995. }
  996. return typedSerializers;
  997. }
  998. }
  999. public override System.Boolean CanSerialize(System.Type type)
  1000. {
  1001. if (type == typeof(global::System.ServiceModel.Description.MetadataSet)) return true;
  1002. return false;
  1003. }
  1004. public override System.Xml.Serialization.XmlSerializer GetSerializer(System.Type type)
  1005. {
  1006. if (type == typeof(global::System.ServiceModel.Description.MetadataSet)) return new MetadataSetSerializer();
  1007. return null;
  1008. }
  1009. }
  1010. // end generated code
  1011. #pragma warning restore
  1012. }