Home | Contact Us | FAQ | Search & Site Map | Link to Us
Sign In | Join | Other 45 Sites in Network
HomeAnnouncementsFree MagazinesWhite PapersSubmit Content
Discussion GroupsASP.NETWindows FormsLanguages.NET FrameworkVisual Studio.NET
Articles.NET FrameworkASP.NETToolsWindows Forms
.NET DirectoryOpen Source ProjectsUser GroupsWeb Resources
Related Topics
Visual Basic 6SQL ServerMS AccessOther DB ProductsMS Server ProductsMore Topics ...

.NET Forum / .NET Framework / New Users / September 2007

Tip: Looking for answers? Try searching our database.

Populate Typed DataSet with XML Problem

Thread view: 
Enable EMail Alerts  Start New Thread
Thread rating: 
hardy.yin.wang@gmail.com - 20 Sep 2007 18:57 GMT
Hi all,
I have a XSD file to define the structure of XML. I generated typed
DataSet by running "xsd rey_SvcApptView.xsd /dataset" command. Then I
run following statements to populate DataSet with XML content,

NewDataSet nds = new NewDataSet();
nds.ReadXml(@"c:\temp\rey_SvcApptView.xml");

I got exception "The same table 'ContactInfo' cannot be the child
table in two nested relations.". Anybody knows why?

Following is my XML file
<?xml version="1.0" encoding="UTF-8"?>
<rey_SvcApptView xmlns="http://www.starstandards.org/STAR"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:noNamespaceSchemaLocation="rey_SvcApptView.xsd">
                        <ApplicationArea>
                            <Sender>
                                <Component>ERA</Component>
                                <Task>SA</Task>
                                <CreatorNameCode>RR</CreatorNameCode>
                                <SenderNameCode>RR</SenderNameCode>
                                <DealerNumber>318211288334913</DealerNumber>
                                <StoreNumber>02</StoreNumber>
                                <AreaNumber>01</AreaNumber>
                            </Sender>
                            <CreationDateTime>2006-05-25T15:35:35</CreationDateTime>
                            <BODId>ENG:808b7e0f-01b2-1edd-b73f-8e44ff873a56</BODId>
                            <Destination>
                                <DestinationNameCode>RCI</DestinationNameCode>
                            </Destination>
                        </ApplicationArea>
                        <ServAppointment ApptNo="110853">
                            <ServAppointmentAdvisor>
                                <ContactInfo Suffix="" SalutName="" Salut="MR." MidName=""
FirstName="CARMINE" LastName="PERONE" NameRecId="2921" IBFlag="I">
                                    <Address Country="" County="" Zip="L6Z 4G7" State="ON"
City="BRAMPTON" Addr2="" Addr1="66 CHEVIOT CRES." Type="P"/>
                                    <Phone Ext="" Num="9058463008" Type="H"/>
                                </ContactInfo>
                            </ServAppointmentAdvisor>
                            <AppointmentTime>
                                <DateTimeStamp Time="07:30:00" Date="05/25/2006"/>
                            </AppointmentTime>
                            <CustRecord>
                                <ContactInfo Suffix="" SalutName="" Salut="MR" MidName=""
FirstName="DENNIS" LastName="GREEN" NameRecId="5035" IBFlag="I">
                                    <Address Country="" County="" Zip="L1K 2E1" State="ON"
City="OSHAWA" Addr2="" Addr1="878 CORBETTS RD" Type="P"/>
                                    <Phone Ext="" Num="4575150" Type="B"/>
                                </ContactInfo>
                            </CustRecord>
                            <ServVehicle>
                                <Vehicle RoofClr="" AccentClr="" IntClrDesc="" IntClrCode=""
ExtClrDesc="GREEN" ExtClrCode="" Carline="GRAND CHEROKEE"
ModelDesc="GRAND 4WD" MdlNo="ZJJL74" VehicleYr="1994" VehicleMake="JE"
MakePfx="" Vin="1J4GZ58S8RC159376">
                                    <VehicleDetail UnitsofMeasure="E" NewUsed="N" LicNo="941XRJ"
LicExpDate="" VehClass="" CategCode="" Wheelbase="" Weight="" Turbo=""
Trim="" Transm="" Pwrstr="" OdomReading="" NoOfCyl="" FuelEcon=""
EngineConfig="" KeyChipNo="" AlarmNo="" KeylessNo="" KeyNo2=""
KeyNo1="" Fuel="" EngNo="" ChassisNo="" Bodysize="" Axle="" Aircond=""/

                                </Vehicle>
                                <VehicleServInfo UnitsofMeasure="E" NoOfVisits="1"
LastROOdom="85822" LastRODate="06/23/1998" LastRONo="19277"
FirstRO="06/23/1998" InvalidVin="" LastActivityDate="06/23/1998"
TeamCode="" ServiceDays="1" FactoryWarrExpOdom=""
FactoryWarrExpDate="" DemoOdom="" DemoDate="" DeliveryOdom=""
DeliveryDate="" ProductionHour="" InServiceDate="" ProductionDate=""
SellingDealerNo="" ModelMaintCode="CCZJ" SalesmanNo=""
CustomerNo="5035" OldVin="" StockID=""/>
                            </ServVehicle>
                            <RODetail Priority="" Type="S" OverRidePayType="" HatTagNo=""
ROCloseDate="" ROCreateDate="" RONo="">
                                <Operation Quote="0.0" EstRepairTime="" Priority=""
OpCodeDesc="TEST OP 2" OpCode="01CCZZ02">
                                    <ChargeAmt WarrantyNo="" OverRidePayPfx="" SaleType="C"
Catagory=""/>
                                    <Complaint>LASUHRGOIU</Complaint>
                                </Operation>
                                <RecommServ Comments="" Criteria="" OpCode="" RefCode=""
DueDate="" Description="TEST OP 2"/>
                                <VehReceiveInfo Odom="85823"/>
                                <PromiseTime>
                                    <DateTimeStamp Time="20:00:00" Date="05/25/2006"/>
                                </PromiseTime>
                                <Comments/>
                            </RODetail>
                            <OutsideApptSrc LastName="" Appointment="110853" EmailAddr=""/>
                            <Estimate Total="0.0" Labor="0.0" Parts="0.0"/>
                            <AdtlCustomerContact CallWindowEnd="" CallWindowStart=""
MessageText="" MessageFlag="" CellPhone="" WorkPhone="" ResPhone=""
PreferredContact="" CustName="DENNIS GREEN" CustNo="5035"/>
                        </ServAppointment>
                    </rey_SvcApptView>

And following is my XSD file
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<xs:schema xmlns="http://www.starstandards.org/STAR" xmlns:xs="http://
www.w3.org/2001/XMLSchema" targetNamespace="http://
www.starstandards.org/STAR" elementFormDefault="qualified">
    <xs:complexType name="ApplicationAreaType">
        <xs:sequence>
            <xs:element name="Sender" type="SenderType"/>
            <xs:element ref="CreationDateTime"/>
            <xs:element ref="Signature" minOccurs="0"/>
            <xs:element ref="BODId" minOccurs="0"/>
            <xs:element name="Destination" type="DestinationType"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="AreaNumber" type="xs:string"/>
    <xs:element name="AuthorizationId" type="xs:string"/>
    <xs:element name="BODId" type="xs:string"/>
    <xs:element name="Component" type="xs:string"/>
    <xs:element name="CreationDateTime" type="xs:string"/>
    <xs:element name="CreatorNameCode" type="xs:string"/>
    <xs:element name="DealerCountry" type="xs:string"/>
    <xs:element name="DealerNumber" type="xs:string"/>
    <xs:element name="DeliverPendingMailInd" type="xs:string"/>
    <xs:complexType name="DestinationType">
        <xs:sequence>
            <xs:element ref="DestinationNameCode"/>
            <xs:element ref="DestinationURI" minOccurs="0"/>
            <xs:element ref="DestinationSoftwareCode" minOccurs="0"/>
            <xs:element ref="DestinationSoftware" minOccurs="0"/>
            <xs:element ref="DealerNumber" minOccurs="0"/>
            <xs:element ref="StoreNumber" minOccurs="0"/>
            <xs:element ref="AreaNumber" minOccurs="0"/>
            <xs:element ref="DealerCountry" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="DestinationNameCode" type="xs:string"/>
    <xs:element name="DestinationSoftware" type="xs:string"/>
    <xs:element name="DestinationSoftwareCode" type="xs:string"/>
    <xs:element name="DestinationURI" type="xs:string"/>
    <xs:element name="Language" type="xs:string"/>
    <xs:element name="LogicalId" type="xs:string"/>
    <xs:element name="Password" type="xs:string"/>
    <xs:element name="ReferenceId" type="xs:string"/>
    <xs:complexType name="SenderType">
        <xs:sequence>
            <xs:element ref="LogicalId" minOccurs="0"/>
            <xs:element ref="Component"/>
            <xs:element ref="Task"/>
            <xs:element ref="ReferenceId" minOccurs="0"/>
            <xs:element ref="AuthorizationId" minOccurs="0"/>
            <xs:element ref="CreatorNameCode"/>
            <xs:element ref="SenderNameCode"/>
            <xs:element ref="SenderURI" minOccurs="0"/>
            <xs:element ref="DealerNumber" minOccurs="0"/>
            <xs:element ref="StoreNumber" minOccurs="0"/>
            <xs:element ref="AreaNumber" minOccurs="0"/>
            <xs:element ref="DealerCountry" minOccurs="0"/>
            <xs:element ref="Language" minOccurs="0"/>
            <xs:element ref="DeliverPendingMailInd" minOccurs="0"/>
            <xs:element ref="Password" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="SenderNameCode" type="xs:string"/>
    <xs:element name="SenderURI" type="xs:string"/>
    <xs:element name="Signature" type="xs:string"/>
    <xs:element name="StoreNumber" type="xs:string"/>
    <xs:element name="Task" type="xs:string"/>
    <xs:complexType name="Address">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="P">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="B"/>
                            <xs:enumeration value="P"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="Addr1" type="xs:string"/>
                <xs:attribute name="Addr2" type="xs:string"/>
                <xs:attribute name="City" type="xs:string"/>
                <xs:attribute name="State" type="xs:string"/>
                <xs:attribute name="Zip" type="xs:string"/>
                <xs:attribute name="County" type="xs:string"/>
                <xs:attribute name="Country" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Address" type="Address"/>
    <xs:complexType name="AdtlCustomerContact">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="CustNo" type="xs:string"/>
                <xs:attribute name="CustName" type="xs:string"/>
                <xs:attribute name="PreferredContact" type="xs:string"/>
                <xs:attribute name="ResPhone" type="xs:string"/>
                <xs:attribute name="WorkPhone" type="xs:string"/>
                <xs:attribute name="CellPhone" type="xs:string"/>
                <xs:attribute name="MessageFlag" type="xs:string"/>
                <xs:attribute name="MessageText" type="xs:string"/>
                <xs:attribute name="CallWindowStart" type="xs:string"/>
                <xs:attribute name="CallWindowEnd" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="AdtlCustomerContact" type="AdtlCustomerContact"/>
    <xs:complexType name="Advisor">
        <xs:sequence>
            <xs:element ref="ContactInfo"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="Advisor" type="Advisor"/>
    <xs:complexType name="AlternatePart">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="PartNo" type="xs:string" use="required"/>
                <xs:attribute name="Quantity" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="AlternatePart" type="AlternatePart"/>
    <xs:complexType name="AppointmentTime">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="AppointmentTime" type="AppointmentTime"/>
    <xs:complexType name="AssociatedPart">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="PartNo" type="xs:string" use="required"/>
                <xs:attribute name="Quantity" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="AssociatedPart" type="AssociatedPart"/>
    <xs:complexType name="BirthDate">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="P">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="O"/>
                            <xs:enumeration value="P"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="date" type="xs:string" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="BirthDate" type="BirthDate"/>
    <xs:complexType name="CampaignInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="CampaignNo" type="xs:string"/>
                <xs:attribute name="CampaignCode" type="xs:string"/>
                <xs:attribute name="CampaignCriteria" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="CampaignInfo" type="CampaignInfo"/>
    <xs:complexType name="Cause" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Cause" type="Cause"/>
    <xs:complexType name="ChargeAmt" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
        <xs:attribute name="Catagory" type="xs:string"/>
        <xs:attribute name="SaleType" type="xs:string"/>
        <xs:attribute name="OverRidePayPfx" type="xs:string"/>
        <xs:attribute name="WarrantyNo" type="xs:string"/>
    </xs:complexType>
    <xs:element name="ChargeAmt" type="ChargeAmt"/>
    <xs:complexType name="ComeBackInfo">
        <xs:sequence>
            <xs:element ref="ServAppointmentAdvisor" minOccurs="0"/>
            <xs:element ref="ServAppointmentTechnician" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="BaseCode" type="xs:string"/>
        <xs:attribute name="Odom" type="xs:string"/>
        <xs:attribute name="RONo" type="xs:string"/>
        <xs:attribute name="RODate" type="xs:string"/>
    </xs:complexType>
    <xs:element name="ComeBackInfo" type="ComeBackInfo"/>
    <xs:complexType name="Comments" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Comments" type="Comments"/>
    <xs:complexType name="Complaint" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Complaint" type="Complaint"/>
    <xs:complexType name="ContactInfo">
        <xs:sequence>
            <xs:element ref="Address" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="Phone" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="Email" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="IBFlag" default="I">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="I"/>
                    <xs:enumeration value="B"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="NameRecId" type="xs:string"/>
        <xs:attribute name="LastName" type="xs:string"/>
        <xs:attribute name="FirstName" type="xs:string"/>
        <xs:attribute name="MidName" type="xs:string"/>
        <xs:attribute name="Salut" type="xs:string"/>
        <xs:attribute name="SalutName" type="xs:string"/>
        <xs:attribute name="Suffix" type="xs:string"/>
    </xs:complexType>
    <xs:element name="ContactInfo" type="ContactInfo"/>
    <xs:complexType name="Correction" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Correction" type="Correction"/>
    <xs:complexType name="CustChild">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="ChildName" type="xs:string" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="CustChild" type="CustChild"/>
    <xs:complexType name="CustPersonal">
        <xs:sequence>
            <xs:element ref="CustChild" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="BirthDate" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="SSNum" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="DriverInfo" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="Gender" type="xs:string"/>
        <xs:attribute name="OtherName" type="xs:string"/>
        <xs:attribute name="AnniversaryDate" type="xs:string"/>
        <xs:attribute name="EmployerName" type="xs:string"/>
        <xs:attribute name="EmployerPhone" type="xs:string"/>
        <xs:attribute name="Occupation" type="xs:string"/>
        <xs:attribute name="OptOut" type="xs:string"/>
        <xs:attribute name="OptOutUse" type="xs:string"/>
    </xs:complexType>
    <xs:element name="CustPersonal" type="CustPersonal"/>
    <xs:complexType name="CustRecord">
        <xs:sequence>
            <xs:element ref="ContactInfo"/>
            <xs:element ref="CustPersonal" minOccurs="0"/>
            <xs:element ref="DMSCustInfo" minOccurs="0"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="CustRecord" type="CustRecord"/>
    <xs:complexType name="CustValueInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="T">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="Y"/>
                            <xs:enumeration value="T"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="NewVehSales" type="xs:string"/>
                <xs:attribute name="NewVehUnits" type="xs:string"/>
                <xs:attribute name="UsedVehSales" type="xs:string"/>
                <xs:attribute name="UsedVehUnits" type="xs:string"/>
                <xs:attribute name="NewVehFISales" type="xs:string"/>
                <xs:attribute name="UsedVehFISales" type="xs:string"/>
                <xs:attribute name="PartsSales" type="xs:string"/>
                <xs:attribute name="PartsUnits" type="xs:string"/>
                <xs:attribute name="ServiceSales" type="xs:string"/>
                <xs:attribute name="ServiceUnits" type="xs:string"/>
                <xs:attribute name="BodyShopSales" type="xs:string"/>
                <xs:attribute name="BodyShopUnits" type="xs:string"/>
                <xs:attribute name="TotalSales" type="xs:string"/>
                <xs:attribute name="TotalUnits" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="CustValueInfo" type="CustValueInfo"/>
    <xs:complexType name="CustomerRetentionContact">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="ContactDate" type="xs:string"/>
                <xs:attribute name="ContactsDone" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="CustomerRetentionContact"
type="CustomerRetentionContact"/>
    <xs:complexType name="CustomerRetentionOPs">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="ServiceOp" type="xs:string"/>
                <xs:attribute name="Reason" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="CustomerRetentionOPs" type="CustomerRetentionOPs"/>
    <xs:complexType name="DMSCustInfo">
        <xs:sequence>
            <xs:element ref="CustValueInfo" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="Followup" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="TaxExemptNum" type="xs:string"/>
        <xs:attribute name="PsPaymentMethod" type="xs:string"/>
        <xs:attribute name="SalesTerritory" type="xs:string"/>
        <xs:attribute name="DeliveryRoute" type="xs:string"/>
        <xs:attribute name="ActiveStatus" type="xs:string"/>
        <xs:attribute name="SalesmanNum" type="xs:string"/>
        <xs:attribute name="LastContactMethod" type="xs:string"/>
    </xs:complexType>
    <xs:element name="DMSCustInfo" type="DMSCustInfo"/>
    <xs:complexType name="DateTimeStamp">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Date" type="xs:string"/>
                <xs:attribute name="Time" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="DateTimeStamp" type="DateTimeStamp"/>
    <xs:complexType name="Dispatcher" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Dispatcher" type="Dispatcher"/>
    <xs:complexType name="DlrOption">
        <xs:sequence>
            <xs:element ref="OptionAccounting" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="DlrAccCode" type="xs:string"/>
        <xs:attribute name="DlrAccDesc" type="xs:string"/>
    </xs:complexType>
    <xs:element name="DlrOption" type="DlrOption"/>
    <xs:complexType name="DriverInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="P">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="O"/>
                            <xs:enumeration value="P"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="LicNum" type="xs:string"/>
                <xs:attribute name="LicState" type="xs:string"/>
                <xs:attribute name="LicExpDate" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="DriverInfo" type="DriverInfo"/>
    <xs:complexType name="Email">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="MailTo" type="xs:string" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Email" type="Email"/>
    <xs:complexType name="EmailReminder">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="EmailReminder" type="EmailReminder"/>
    <xs:complexType name="Estimate">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Parts" type="xs:string"/>
                <xs:attribute name="Labor" type="xs:string"/>
                <xs:attribute name="Total" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Estimate" type="Estimate"/>
    <xs:complexType name="Followup">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="P">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="M"/>
                            <xs:enumeration value="P"/>
                            <xs:enumeration value="E"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="Value" default="N">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="Y"/>
                            <xs:enumeration value="N"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Followup" type="Followup"/>
    <xs:complexType name="LTGInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Allow" type="xs:string"/>
                <xs:attribute name="Hours" type="xs:string"/>
                <xs:attribute name="Mix" type="xs:string"/>
                <xs:attribute name="OpCode" type="xs:string"/>
                <xs:attribute name="OtherHours" type="xs:string"/>
                <xs:attribute name="PNCCode" type="xs:string"/>
                <xs:attribute name="PNCDesc" type="xs:string"/>
                <xs:attribute name="SCCode" type="xs:string"/>
                <xs:attribute name="SCDesc" type="xs:string"/>
                <xs:attribute name="TCDesc" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="LTGInfo" type="LTGInfo"/>
    <xs:complexType name="Message" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
        <xs:attribute name="MessageNo" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Message" type="Message"/>
    <xs:complexType name="Operation">
        <xs:sequence>
            <xs:element ref="ChargeAmt" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="Technician" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="Complaint" minOccurs="0"/>
            <xs:element ref="Cause" minOccurs="0"/>
            <xs:element ref="Correction" minOccurs="0"/>
            <xs:element ref="OperationStart" minOccurs="0"/>
            <xs:element ref="OperationFinish" minOccurs="0"/>
            <xs:element ref="WarrantyInfo" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="PartRequired" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="LTGInfo" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="OpCode" type="xs:string"/>
        <xs:attribute name="OpCodeDesc" type="xs:string"/>
        <xs:attribute name="Priority" type="xs:string"/>
        <xs:attribute name="EstRepairTime" type="xs:string"/>
        <xs:attribute name="Quote" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Operation" type="Operation"/>
    <xs:complexType name="OperationFinish">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="OperationFinish" type="OperationFinish"/>
    <xs:complexType name="OperationStart">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="OperationStart" type="OperationStart"/>
    <xs:complexType name="Option">
        <xs:sequence>
            <xs:element ref="OptionAccounting" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="FactAccCode" type="xs:string"/>
        <xs:attribute name="FactAccDesc" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Option" type="Option"/>
    <xs:complexType name="OptionAccounting">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Amt" type="xs:string"/>
                <xs:attribute name="RefNo" type="xs:string"/>
                <xs:attribute name="Rtl" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="OptionAccounting" type="OptionAccounting"/>
    <xs:complexType name="OptionDescLines">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Description" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="OptionDescLines" type="OptionDescLines"/>
    <xs:complexType name="OptionPackage">
        <xs:sequence>
            <xs:element ref="OptionAccounting" minOccurs="0"/>
            <xs:choice minOccurs="0" maxOccurs="unbounded">
                <xs:element ref="Option"/>
                <xs:element ref="OptionDescLines"/>
            </xs:choice>
        </xs:sequence>
        <xs:attribute name="PkgCode" type="xs:string"/>
        <xs:attribute name="PkgCodeDesc" type="xs:string"/>
    </xs:complexType>
    <xs:element name="OptionPackage" type="OptionPackage"/>
    <xs:complexType name="OutsideApptSrc">
        <xs:sequence>
            <xs:element ref="DateTimeStamp" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="EmailAddr" type="xs:string"/>
        <xs:attribute name="Appointment" type="xs:string"/>
        <xs:attribute name="LastName" type="xs:string"/>
    </xs:complexType>
    <xs:element name="OutsideApptSrc" type="OutsideApptSrc"/>
    <xs:complexType name="Part">
        <xs:sequence>
            <xs:element ref="AlternatePart" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="AssociatedPart" minOccurs="0"
maxOccurs="unbounded"/>
            <xs:element ref="PartMisc" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Description" type="xs:string"/>
        <xs:attribute name="PartNo" type="xs:string" use="required"/>
        <xs:attribute name="Bin1" type="xs:string"/>
        <xs:attribute name="Bin2" type="xs:string"/>
        <xs:attribute name="Class" type="xs:string"/>
        <xs:attribute name="Group" type="xs:string"/>
        <xs:attribute name="ModelYearHigh" type="xs:string"/>
        <xs:attribute name="ModelYearLow" type="xs:string"/>
        <xs:attribute name="Detail" type="xs:string"/>
        <xs:attribute name="Detail2" type="xs:string"/>
        <xs:attribute name="Source" type="xs:string"/>
        <xs:attribute name="Status" type="xs:string"/>
        <xs:attribute name="Make" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Part" type="Part"/>
    <xs:complexType name="PartMisc">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="NewPartNo" type="xs:string"/>
                <xs:attribute name="Pack" type="xs:string"/>
                <xs:attribute name="PackFactor" type="xs:string"/>
                <xs:attribute name="MultiOrder" type="xs:string"/>
                <xs:attribute name="Remarks" type="xs:string"/>
                <xs:attribute name="Comment" type="xs:string"/>
                <xs:attribute name="ReturnCode" type="xs:string"/>
                <xs:attribute name="SortKey" type="xs:string"/>
                <xs:attribute name="UpdateFlag" type="xs:string"/>
                <xs:attribute name="Warehouse" type="xs:string"/>
                <xs:attribute name="WarehousePrinter" type="xs:string"/>
                <xs:attribute name="MfrStatus" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="PartMisc" type="PartMisc"/>
    <xs:complexType name="PartRequired">
        <xs:sequence>
            <xs:element ref="Part" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="PartPrice" type="xs:string"/>
        <xs:attribute name="PartQuantity" type="xs:string"/>
    </xs:complexType>
    <xs:element name="PartRequired" type="PartRequired"/>
    <xs:complexType name="Phone">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="H">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="U"/>
                            <xs:enumeration value="B"/>
                            <xs:enumeration value="O"/>
                            <xs:enumeration value="C"/>
                            <xs:enumeration value="P"/>
                            <xs:enumeration value="F"/>
                            <xs:enumeration value="H"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="Num" type="xs:string" use="required"/>
                <xs:attribute name="Ext" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Phone" type="Phone"/>
    <xs:complexType name="PickupTime">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="PickupTime" type="PickupTime"/>
    <xs:complexType name="PromiseTime">
        <xs:sequence>
            <xs:element ref="DateTimeStamp"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="PromiseTime" type="PromiseTime"/>
    <xs:complexType name="PubTxRecHdr">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="PubRecKey" type="xs:string" use="required"/>
                <xs:attribute name="BusUnitCode" type="xs:string"/>
                <xs:attribute name="RecOpType">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="Insert"/>
                            <xs:enumeration value="Delete"/>
                            <xs:enumeration value="Update"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="PubTxRecHdr" type="PubTxRecHdr"/>
    <xs:complexType name="ROAdvisor">
        <xs:sequence>
            <xs:element ref="ContactInfo"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="ROAdvisor" type="ROAdvisor"/>
    <xs:complexType name="RODetail">
        <xs:sequence>
            <xs:element ref="Operation" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="ROAdvisor" minOccurs="0"/>
            <xs:element ref="RecommServ" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="VehReceiveInfo" minOccurs="0"/>
            <xs:element ref="PromiseTime" minOccurs="0"/>
            <xs:element ref="PickupTime" minOccurs="0"/>
            <xs:element ref="VehDeliverInfo" minOccurs="0"/>
            <xs:element ref="Comments" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="Recomendation" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="CampaignInfo" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="ROMisc" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="RONo" type="xs:string"/>
        <xs:attribute name="ROCreateDate" type="xs:string"/>
        <xs:attribute name="ROCloseDate" type="xs:string"/>
        <xs:attribute name="HatTagNo" type="xs:string"/>
        <xs:attribute name="OverRidePayType" type="xs:string"/>
        <xs:attribute name="Type" default="S">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="B"/>
                    <xs:enumeration value="P"/>
                    <xs:enumeration value="Q"/>
                    <xs:enumeration value="S"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="Priority" type="xs:string"/>
    </xs:complexType>
    <xs:element name="RODetail" type="RODetail"/>
    <xs:complexType name="ROMisc">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="SpecialOrdFulfilled">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="Y"/>
                            <xs:enumeration value="N"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="TeamCode" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="ROMisc" type="ROMisc"/>
    <xs:complexType name="Recomendation" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="Recomendation" type="Recomendation"/>
    <xs:complexType name="RecommServ">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Description" type="xs:string"/>
                <xs:attribute name="DueDate" type="xs:string"/>
                <xs:attribute name="RefCode" type="xs:string"/>
                <xs:attribute name="OpCode" type="xs:string"/>
                <xs:attribute name="Criteria" type="xs:string"/>
                <xs:attribute name="Comments" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="RecommServ" type="RecommServ"/>
    <xs:complexType name="SSNum">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Type" default="P">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="O"/>
                            <xs:enumeration value="P"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="ssn" type="xs:string" use="required"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="SSNum" type="SSNum"/>
    <xs:complexType name="ServAppointmentType">
        <xs:sequence>
            <xs:element ref="ServAppointmentAdvisor" minOccurs="0"/>
            <xs:element ref="Dispatcher" minOccurs="0"/>
            <xs:element ref="AppointmentTime" minOccurs="0"/>
            <xs:element ref="CustRecord" minOccurs="0"/>
            <xs:element ref="ServVehicle" minOccurs="0"/>
            <xs:element ref="RODetail" minOccurs="0"/>
            <xs:element ref="ComeBackInfo" minOccurs="0" maxOccurs="unbounded"/

            <xs:element ref="ServAppointmentMisc" minOccurs="0"/>
            <xs:element ref="CustomerRetentionContact" minOccurs="0"
maxOccurs="unbounded"/>
            <xs:element ref="CustomerRetentionOPs" minOccurs="0"
maxOccurs="unbounded"/>
            <xs:element ref="OutsideApptSrc" minOccurs="0"/>
            <xs:element ref="Estimate" minOccurs="0"/>
            <xs:element ref="AdtlCustomerContact" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="ApptNo" type="xs:string"/>
    </xs:complexType>
    <xs:complexType name="ServAppointmentAdvisor">
        <xs:sequence>
            <xs:element ref="ContactInfo"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="ServAppointmentAdvisor"
type="ServAppointmentAdvisor"/>
    <xs:complexType name="ServAppointmentMisc">
        <xs:sequence>
            <xs:element ref="EmailReminder" minOccurs="0"/>
            <xs:element ref="SpecialOrderNo" minOccurs="0"
maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="CRConfirmFlag" type="xs:string"/>
        <xs:attribute name="UnitsofMeasure" default="E">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="M"/>
                    <xs:enumeration value="E"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
        <xs:attribute name="ForcastDate" type="xs:string"/>
    </xs:complexType>
    <xs:element name="ServAppointmentMisc" type="ServAppointmentMisc"/>
    <xs:complexType name="ServAppointmentTechnician">
        <xs:sequence>
            <xs:element ref="ContactInfo"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="ServAppointmentTechnician"
type="ServAppointmentTechnician"/>
        <xs:element name="rey_SvcApptView">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ApplicationArea" type="ApplicationAreaType"/>
                <xs:element name="ServAppointment" type="ServAppointmentType"
minOccurs="0" maxOccurs="unbounded"/>
            </xs:sequence>
            <xs:attribute name="revision" use="optional" default="1.0"/>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="ServVehicle">
        <xs:sequence>
            <xs:element ref="PubTxRecHdr" minOccurs="0"/>
            <xs:element ref="Vehicle" minOccurs="0"/>
            <xs:element ref="VehicleServInfo" minOccurs="0"/>
            <xs:element ref="Message" minOccurs="0" maxOccurs="unbounded"/>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="ServVehicle" type="ServVehicle"/>
    <xs:complexType name="SpecialOrderNo" mixed="true">
        <xs:choice minOccurs="0" maxOccurs="unbounded"/>
    </xs:complexType>
    <xs:element name="SpecialOrderNo" type="SpecialOrderNo"/>
    <xs:complexType name="Surcharge">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Code" type="xs:string"/>
                <xs:attribute name="Description" type="xs:string"/>
                <xs:attribute name="DealerCost" type="xs:string"/>
                <xs:attribute name="CustomerCost" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="Surcharge" type="Surcharge"/>
    <xs:complexType name="SurchargeInfo">
        <xs:sequence>
            <xs:element ref="Surcharge" maxOccurs="unbounded"/>
        </xs:sequence>
        <xs:attribute name="TotAmtSurcharges" type="xs:string"/>
    </xs:complexType>
    <xs:element name="SurchargeInfo" type="SurchargeInfo"/>
    <xs:complexType name="Technician">
        <xs:sequence>
            <xs:element ref="ContactInfo" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Notes" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Technician" type="Technician"/>
    <xs:complexType name="TermRateInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Code" type="xs:string"/>
                <xs:attribute name="Description" type="xs:string"/>
                <xs:attribute name="DealerCost" type="xs:string"/>
                <xs:attribute name="CustomerCost" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="TermRateInfo" type="TermRateInfo"/>
    <xs:complexType name="VehDeliverInfo">
        <xs:sequence>
            <xs:element ref="DateTimeStamp" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Odom" type="xs:string"/>
    </xs:complexType>
    <xs:element name="VehDeliverInfo" type="VehDeliverInfo"/>
    <xs:complexType name="VehExtWarranty">
        <xs:sequence>
            <xs:element ref="TermRateInfo" minOccurs="0"/>
            <xs:element ref="SurchargeInfo" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="ContractNo" type="xs:string"/>
        <xs:attribute name="ContractName" type="xs:string"/>
        <xs:attribute name="ContractType" type="xs:string"/>
        <xs:attribute name="WarrantyCompany" type="xs:string"/>
        <xs:attribute name="ExpirationDate" type="xs:string"/>
        <xs:attribute name="ExpirationOdom" type="xs:string"/>
        <xs:attribute name="Deductible" type="xs:string"/>
    </xs:complexType>
    <xs:element name="VehExtWarranty" type="VehExtWarranty"/>
    <xs:complexType name="VehReceiveInfo">
        <xs:sequence>
            <xs:element ref="DateTimeStamp" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="Odom" type="xs:string"/>
    </xs:complexType>
    <xs:element name="VehReceiveInfo" type="VehReceiveInfo"/>
    <xs:complexType name="Vehicle">
        <xs:sequence>
            <xs:element ref="VehicleDetail" minOccurs="0"/>
            <xs:element ref="Option" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="DlrOption" minOccurs="0" maxOccurs="unbounded"/>
            <xs:element ref="OptionPackage" minOccurs="0" maxOccurs="unbounded"/

        </xs:sequence>
        <xs:attribute name="Vin" type="xs:string"/>
        <xs:attribute name="MakePfx" type="xs:string"/>
        <xs:attribute name="VehicleMake" type="xs:string"/>
        <xs:attribute name="VehicleYr" type="xs:string"/>
        <xs:attribute name="MdlNo" type="xs:string"/>
        <xs:attribute name="ModelDesc" type="xs:string"/>
        <xs:attribute name="Carline" type="xs:string"/>
        <xs:attribute name="ExtClrCode" type="xs:string"/>
        <xs:attribute name="ExtClrDesc" type="xs:string"/>
        <xs:attribute name="IntClrCode" type="xs:string"/>
        <xs:attribute name="IntClrDesc" type="xs:string"/>
        <xs:attribute name="AccentClr" type="xs:string"/>
        <xs:attribute name="RoofClr" type="xs:string"/>
    </xs:complexType>
    <xs:element name="Vehicle" type="Vehicle"/>
    <xs:complexType name="VehicleDetail">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="Aircond" type="xs:string"/>
                <xs:attribute name="Axle" type="xs:string"/>
                <xs:attribute name="Bodysize" type="xs:string"/>
                <xs:attribute name="ChassisNo" type="xs:string"/>
                <xs:attribute name="EngNo" type="xs:string"/>
                <xs:attribute name="Fuel" type="xs:string"/>
                <xs:attribute name="KeyNo1" type="xs:string"/>
                <xs:attribute name="KeyNo2" type="xs:string"/>
                <xs:attribute name="KeylessNo" type="xs:string"/>
                <xs:attribute name="AlarmNo" type="xs:string"/>
                <xs:attribute name="KeyChipNo" type="xs:string"/>
                <xs:attribute name="EngineConfig" type="xs:string"/>
                <xs:attribute name="FuelEcon" type="xs:string"/>
                <xs:attribute name="NoOfCyl" type="xs:string"/>
                <xs:attribute name="OdomReading" type="xs:string"/>
                <xs:attribute name="Pwrstr" type="xs:string"/>
                <xs:attribute name="Transm" type="xs:string"/>
                <xs:attribute name="Trim" type="xs:string"/>
                <xs:attribute name="Turbo" type="xs:string"/>
                <xs:attribute name="Weight" type="xs:string"/>
                <xs:attribute name="Wheelbase" type="xs:string"/>
                <xs:attribute name="CategCode" type="xs:string"/>
                <xs:attribute name="VehClass" type="xs:string"/>
                <xs:attribute name="LicExpDate" type="xs:string"/>
                <xs:attribute name="LicNo" type="xs:string"/>
                <xs:attribute name="NewUsed" default="N">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="U"/>
                            <xs:enumeration value="N"/>
                            <xs:enumeration value="O"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
                <xs:attribute name="UnitsofMeasure" default="E">
                    <xs:simpleType>
                        <xs:restriction base="xs:NMTOKEN">
                            <xs:enumeration value="M"/>
                            <xs:enumeration value="E"/>
                        </xs:restriction>
                    </xs:simpleType>
                </xs:attribute>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="VehicleDetail" type="VehicleDetail"/>
    <xs:complexType name="VehicleServInfo">
        <xs:sequence>
            <xs:element ref="VehExtWarranty" minOccurs="0"/>
            <xs:element ref="Advisor" minOccurs="0"/>
        </xs:sequence>
        <xs:attribute name="StockID" type="xs:string"/>
        <xs:attribute name="OldVin" type="xs:string"/>
        <xs:attribute name="CustomerNo" type="xs:string"/>
        <xs:attribute name="SalesmanNo" type="xs:string"/>
        <xs:attribute name="ModelMaintCode" type="xs:string"/>
        <xs:attribute name="SellingDealerNo" type="xs:string"/>
        <xs:attribute name="ProductionDate" type="xs:string"/>
        <xs:attribute name="InServiceDate" type="xs:string"/>
        <xs:attribute name="ProductionHour" type="xs:string"/>
        <xs:attribute name="DeliveryDate" type="xs:string"/>
        <xs:attribute name="DeliveryOdom" type="xs:string"/>
        <xs:attribute name="DemoDate" type="xs:string"/>
        <xs:attribute name="DemoOdom" type="xs:string"/>
        <xs:attribute name="FactoryWarrExpDate" type="xs:string"/>
        <xs:attribute name="FactoryWarrExpOdom" type="xs:string"/>
        <xs:attribute name="ServiceDays" type="xs:string"/>
        <xs:attribute name="TeamCode" type="xs:string"/>
        <xs:attribute name="LastActivityDate" type="xs:string"/>
        <xs:attribute name="InvalidVin" type="xs:string"/>
        <xs:attribute name="FirstRO" type="xs:string"/>
        <xs:attribute name="LastRONo" type="xs:string"/>
        <xs:attribute name="LastRODate" type="xs:string"/>
        <xs:attribute name="LastROOdom" type="xs:string"/>
        <xs:attribute name="NoOfVisits" type="xs:string"/>
        <xs:attribute name="UnitsofMeasure" default="E">
            <xs:simpleType>
                <xs:restriction base="xs:NMTOKEN">
                    <xs:enumeration value="M"/>
                    <xs:enumeration value="E"/>
                </xs:restriction>
            </xs:simpleType>
        </xs:attribute>
    </xs:complexType>
    <xs:element name="VehicleServInfo" type="VehicleServInfo"/>
    <xs:complexType name="WarrantyInfo">
        <xs:complexContent>
            <xs:restriction base="xs:anyType">
                <xs:attribute name="ClaimNo" type="xs:string"/>
                <xs:attribute name="WarrantyOp" type="xs:string"/>
            </xs:restriction>
        </xs:complexContent>
    </xs:complexType>
    <xs:element name="WarrantyInfo" type="WarrantyInfo"/>
</xs:schema>

--
Regards
Hardy
sloan - 21 Sep 2007 15:31 GMT
Take a look here:
http://home.jondavis.net:880/blog/post/XML-to-C-Code-Generation.aspx

And here:
http://sholliday.spaces.live.com/Blog/cns!A68482B9628A842A!148.entry

and you might be able to piece together a solution.

> Hi all,
> I have a XSD file to define the structure of XML. I generated typed
[quoted text clipped - 1055 lines]
> Regards
> Hardy
Kevin_E - 25 Sep 2007 04:40 GMT
I have not tried to create a DataSet when inheritance was involved, but you
might try creating a base ComplexType for things that can contain
ContactInfos and then extend that class to the current ContactInfo
containers.  Or xsd.exe may complain about the inheritance.  :(  Good luck.

An example of setting up inheritance in an Xml Schema is here:
http://www.15seconds.com/issue/031209.htm

Free Magazines

Get these publications absolutely FREE for up to 12 months. There are no hidden fees and no obligation. Simply choose a title, complete the application form and submit it. Read more ...

Oracle MagazineNetwork ComputingComputer WorldBio-IT WorldeWeekInformation WeekInfosecurity
 
Sign In
Join
My Latest Posts
My Monitored Threads
My Blog
My Photo Gallery
My Profile
My Homepage

Start New Thread
Enable EMail Alerts
Rate this Thread



©2008 Advenet LLC   Privacy Policy - Terms of Use
This