8000 Issue on pair of Elements · Issue #558 · mganss/XmlSchemaClassGenerator · GitHub
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content
Issue on pair of Elements #558
Open
Open
@FabioBrizzolara

Description

@FabioBrizzolara

Hi,

I have an issue to rapresent a sequence of pair elements.

This is my xsd section

Image

This is the generated class

    using System;
    using System.CodeDom.Compiler;
    using System.Collections.Generic;
    using System.Collections.ObjectModel;
    using System.ComponentModel;
    using System.ComponentModel.DataAnnotations;
    using System.Diagnostics;
    using System.Xml;
    using System.Xml.Schema;
    using System.Xml.Serialization;
    
    
    [GeneratedCodeAttribute("XmlSchemaClassGenerator", "2.1.1183.0")]
    [SerializableAttribute()]
    [XmlTypeAttribute("EuRegulatoryDetailsProductIdentifier", Namespace="", AnonymousType=true)]
    [DebuggerStepThroughAttribute()]
    [DesignerCategoryAttribute("code")]
    public partial class EuRegulatoryDetailsProductIdentifier
    {
        
        [EditorBrowsableAttribute(EditorBrowsableState.Never)]
        [XmlElementAttribute("ProductIdentificationType")]
        public Emir.Dto.IdentificationOfProductTypeType ProductIdentificationTypeValue { get; set; }
        
        /// <summary>
        /// <para xml:lang="en">Gets or sets a value indicating whether the ProductIdentificationType property is specified.</para>
        /// </summary>
        [XmlIgnoreAttribute()]
        [EditorBrowsableAttribute(EditorBrowsableState.Never)]
        public bool ProductIdentificationTypeValueSpecified { get; set; }
        
        [XmlIgnoreAttribute()]
        public Nullable<Emir.Dto.IdentificationOfProductTypeType> ProductIdentificationType
        {
            get
            {
                if (this.ProductIdentificationTypeValueSpecified)
                {
                    return this.ProductIdentificationTypeValue;
                }
                else
                {
                    return null;
                }
            }
            set
            {
                this.ProductIdentificationTypeValue = value.GetValueOrDefault();
                this.ProductIdentificationTypeValueSpecified = value.HasValue;
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Minimum length: 1.</para>
        /// <para xml:lang="en">Maximum length: 48.</para>
        /// </summary>
        [MinLengthAttribute(1)]
        [MaxLengthAttribute(48)]
        [XmlElementAttribute("ProductIdentification")]
        public string ProductIdentification { get; set; }
        
        [XmlIgnoreAttribute()]
        private List<Emir.Dto.ClassificationOfProductTypeType> _productClassificationType;
        
        [XmlElementAttribute("ProductClassificationType")]
        public List<Emir.Dto.ClassificationOfProductTypeType> ProductClassificationType
        {
            get
            {
                return _productClassificationType;
            }
            set
            {
                _productClassificationType = value;
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Gets a value indicating whether the ProductClassificationType collection is empty.</para>
        /// </summary>
        [XmlIgnoreAttribute()]
        public bool ProductClassificationTypeSpecified
        {
            get
            {
                return ((this.ProductClassificationType != null) 
                            && (this.ProductClassificationType.Count != 0));
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Initializes a new instance of the <see cref="EuRegulatoryDetailsProductIdentifier" /> class.</para>
        /// </summary>
        public EuRegulatoryDetailsProductIdentifier()
        {
            this._productClassificationType = new List<Emir.Dto.ClassificationOfProductTypeType>();
            this._productClassification = new List<string>();
        }
        
        [XmlIgnoreAttribute()]
        private List<string> _productClassification;
        
        [XmlElementAttribute("ProductClassification")]
        public List<string> ProductClassification
        {
            get
            {
                return _productClassification;
            }
            set
            {
                _productClassification = value;
            }
        }
        
        /// <summary>
        /// <para xml:lang="en">Gets a value indicating whether the ProductClassification collection is empty.</para>
        /// </summary>
        [XmlIgnoreAttribute()]
        public bool ProductClassificationSpecified
        {
            get
            {
                return ((this.ProductClassification != null) 
                            && (this.ProductClassification.Count != 0));
            }
        }
        
        [XmlElementAttribute("EProduct")]
        public EuRegulatoryDetailsProductIdentifierEProduct EProduct { get; set; }
    }

If I serialize the result is

<ProductIdentifier>
          <ProductClassificationType>C</ProductClassificationType>
          <ProductClassificationType>U</ProductClassificationType>
          <ProductClassification>CFICode</ProductClassification>
          <ProductClassification>UPICode</ProductClassification>
          <EProduct>
            <EProductID1>CO</EProductID1>
            <EProductID2>SW</EProductID2>
          </EProduct>
        </ProductIdentifier>

But I want

<ProductIdentifier>
          <ProductClassificationType>C</ProductClassificationType>
          <ProductClassification>CFICode</ProductClassification>
          <ProductClassificationType>U</ProductClassificationType>
          <ProductClassification>UPICode</ProductClassification>
          <EProduct>
            <EProductID1>CO</EProductID1>
            <EProductID2>SW</EProductID2>
          </EProduct>
        </ProductIdentifier>

How can I do?

Thanks

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions

      0