/// <summary> /// Asynchronously deserialize the <see cref="SpecType"/>s contained by the <code>SPEC-TYPES</code> element. /// </summary> /// <param name="reader"> /// an instance of <see cref="XmlReader"/> /// </param> /// <param name="token"> /// A cancellation token that can be used by other objects or threads to receive notice of cancellation. /// </param> private async Task DeserializeSpecTypesAsync(XmlReader reader, CancellationToken token) { while (await reader.ReadAsync()) { if (token.IsCancellationRequested) { token.ThrowIfCancellationRequested(); } if (await reader.MoveToContentAsync() == XmlNodeType.Element) { var xmlname = reader.LocalName; if (xmlname == "SPEC-OBJECT-TYPE" || xmlname == "SPECIFICATION-TYPE" || xmlname == "SPEC-RELATION-TYPE" || xmlname == "RELATION-GROUP-TYPE") { using (var subtree = reader.ReadSubtree()) { await subtree.MoveToContentAsync(); var specType = ReqIfFactory.SpecTypeConstruct(xmlname, this, this.loggerFactory); await specType.ReadXmlAsync(subtree, token); } } } } }
/// <summary> /// Deserialize the <see cref="SpecType"/>s contained by the <code>SPEC-TYPES</code> element. /// </summary> /// <param name="reader"> /// an instance of <see cref="XmlReader"/> /// </param> private void DeserializeSpecTypes(XmlReader reader) { while (reader.Read()) { if (reader.MoveToContent() == XmlNodeType.Element) { var xmlname = reader.LocalName; if (xmlname == "SPEC-OBJECT-TYPE" || xmlname == "SPECIFICATION-TYPE" || xmlname == "SPEC-RELATION-TYPE" || xmlname == "RELATION-GROUP-TYPE") { using (var subtree = reader.ReadSubtree()) { subtree.MoveToContent(); var specType = ReqIfFactory.SpecTypeConstruct(xmlname, this, this.loggerFactory); specType.ReadXml(subtree); } } } } }