private XElement BuildSimpleType(Type type, out string fileGroup) { var xsdSimpleType = XsdSimpleType.Get(type); //添加XSD文件 fileGroup = xsdSimpleType.FileGroup; SetDefaultFile(fileGroup); var simpleTypeElement = new XElement( _xs + "simpleType", new XAttribute("name", type.Name), new XAttribute("final", "restriction") ); var restrictionElement = new XElement( _xs + "restriction", new XAttribute("base", "xs:string") ); foreach (var val in Enum.GetNames(type)) { restrictionElement.Add( new XElement( _xs + "enumeration", new XAttribute("value", val) ) ); } simpleTypeElement.Add(restrictionElement); return(simpleTypeElement); }
public static string GetFileGroup(Type type) { type = GetPropertyType(type); if (type.IsClass) { return(XsdComplexType.Get(type).FileGroup); } if (type.IsEnum) { return(XsdSimpleType.Get(type).FileGroup); } return(null); }
private static ServiceDescription CreateNewServiceDescription() { var serviceDescription = new ServiceDescription(); serviceDescription.IdOwnerUser = 1; serviceDescription.ServiceName = "Test Service"; serviceDescription.RegistrationDateTime = DateTime.Now; serviceDescription.Xml = "test"; serviceDescription.XsdDocument = new XsdDocument { RegistrationDateTime = DateTime.Now, ServiceDescription = serviceDescription, XsdComplexTypes = new List <XsdComplexType>(), XsdSimpleTypes = new List <XsdSimpleType>() }; var complexType1 = new XsdComplexType { XsdComplexTypeName = "Complex Type 1", RegistrationDateTime = DateTime.Now }; var complexType2 = new XsdComplexType { XsdComplexTypeName = "Complex Type 2", RegistrationDateTime = DateTime.Now }; var complexType3 = new XsdComplexType { XsdComplexTypeName = "Complex Type 3", RegistrationDateTime = DateTime.Now }; var complexType4 = new XsdComplexType { XsdComplexTypeName = "Complex Type 4", RegistrationDateTime = DateTime.Now }; complexType1.ChildrenXsdComplexTypes = new List <XsdComplexType> { complexType2 }; //complexType2.ParentsXsdComplexType = new List<XsdComplexType> { complexType1 }; complexType2.ChildrenXsdComplexTypes = new List <XsdComplexType> { complexType3, complexType4 }; //complexType3.ParentsXsdComplexType = new List<XsdComplexType> { complexType2 }; //complexType4.ParentsXsdComplexType = new List<XsdComplexType> { complexType2 }; var simpleType1 = new XsdSimpleType { XsdSimpleTypeName = "Simple Type 1", RegistrationDateTime = DateTime.Now }; var simpleType2 = new XsdSimpleType { XsdSimpleTypeName = "Simple Type 2", RegistrationDateTime = DateTime.Now }; var simpleType3 = new XsdSimpleType { XsdSimpleTypeName = "Simple Type 3", RegistrationDateTime = DateTime.Now }; complexType2.XsdSimpleTypes = new List <XsdSimpleType> { simpleType1 }; complexType3.XsdSimpleTypes = new List <XsdSimpleType> { simpleType2 }; complexType4.XsdSimpleTypes = new List <XsdSimpleType> { simpleType3 }; serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType1); serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType2); serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType3); serviceDescription.XsdDocument.XsdComplexTypes.Add(complexType4); var wsdlInterface = new WsdlInterface { WsdlInterfaceName = "Interface 1" }; serviceDescription.WsdlInterfaces = new List <WsdlInterface> { wsdlInterface }; return(serviceDescription); }