Home. 
.

transparent

transparent

transparent

Altova Mailing List Archives


Re: Error when creating a restriction?

From: "Stan Kitsis [MSFT]" <skits@---------.--->
To: NULL
Date: 6/5/2006 11:09:00 AM

You have a lot of locally defined types in the base type, which you redefine 
later.  Here's an example

<xs:element name="empID" nillable="true" 
id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.empID">
    <xs:simpleType>
        <xs:restriction base="xs:string">
            <xs:maxLength value="30"/>
        </xs:restriction>
    </xs:simpleType>
</xs:element>

While in your restricted type you define empID element to be of the similar 
type, it's not the same.  You need to make the simple type global and 
reference it from both places.  If you still get errors after fixing all the 
types, post an updated schema here.

-- 
Stan Kitsis
Program Manager, XML Technologies
Microsoft Corporation

This posting is provided "AS IS" with no warranties, and confers no rights.


"Thomas Malia" <tommalia@w...> wrote in message 
news:%23QqY3OmhGHA.3868@T......
> It's kinda long but here it is.  I've tried with and without the id 
> attributes... thought maybe that might have had something to do with it. 
> Obviously, created an exact copy isn't my end goal, the restricted type 
> should require the empID element among other changes.  However, I figured 
> I should first confirm that an exact copy would work... which it doesn't 
> so far.  Thanks in advance.:
>
> <xs:complexType name="ToAcctAPDoc_Type" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type">
>
> <xs:sequence>
>
> <xs:choice minOccurs="0">
>
> <xs:sequence>
>
> <xs:choice minOccurs="0">
>
> <xs:element name="empID" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.empID">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="vendID" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.vendID">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> </xs:choice>
>
> <xs:choice minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> When the activity being transmitted in the document is NOT related to an 
> employee, then the Pay to the order of details are optional information 
> that the accounting system doesn't used.
>
> (2006-06-01) the system is being designed to support the receipt of the 
> full name and address information into the accounting as it is stored in 
> the DMS. Accept for some of the fields, in the case of employee related 
> documents, the accounting system does not at this time use this 
> information in any way, but, if the information is supplied, it will 
> retain these details with the history of what was imported.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:element name="PayToOrderOfPerson" type="DMSPersonInfo_Type" 
> nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.PayToOrderOfPerson"/>
>
> <xs:element name="PayToOrderOfCompany" type="DMSCpnyInfo_Type" 
> nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.PayToOrderOfCompany"/>
>
> </xs:choice>
>
> </xs:sequence>
>
> <xs:element name="ChkNbrToVoid" type="AcctChkNbr_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.ChkNbrToVoid">
>
> <xs:annotation>
>
> <xs:documentation>
>
> The initial design of the DMS to Accounting interface didn't not specify 
> the need to be able to transmit a request for a voiding of a check. 
> However, it seems reasonable that this may be desirable future enhancement 
> and subsequently the XML schema is being designed to support this future 
> need.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:element>
>
> </xs:choice>
>
> <xs:element name="AcctAddress" type="AcctAddress_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.AcctAddress"/>
>
> <xs:element name="InvoiceDate" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.InvoiceDate" minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> Invoice is optional information.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:simpleType>
>
> <xs:restriction base="xs:date"/>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="Descr" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.Descr" minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> Invoice is optional information.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="DocAmt" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.AcctChkNbr_Type.DocAmt">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:float"/>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="ToAcctAPTran" type="ToAcctAPTran_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.ToAcctAPTran" 
> maxOccurs="unbounded"/>
>
> <xs:element name="Other" type="Other_Type" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctAPDoc_Type.Other" minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> schema is being designed to anticipate a need for more information to be 
> transmitted. This element is intended to support this puposes.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:element>
>
> </xs:sequence>
>
> <xs:attribute ref="DMSDocType" use="required"/>
>
> <xs:attribute ref="DataSourceEntityID" use="required">
>
> <xs:annotation>
>
> <xs:documentation>
>
> is intended to be the unqiue identifier for the given document in the 
> source (i.e. DMS) system. The value from this field will be passed back 
> when check information is sent back to the source system.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceID" use="required">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied to facilitate the possibility that the import 
> processes that are being created to import information about AP activity 
> from DMS to the accounting system could conceivably be used to import 
> information from other sources as well. This attributes allows the 
> identification of the actual source of the data.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceUserID" use="optional">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied as an audit trail add. If it is at all possible for 
> the source system to include the user ID of the user that generated the 
> source document, it is encouraged that this attribute be populated.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceComputerName" use="optional">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied as an audit trail add. If it is at all possible for 
> the source system to include the computer name of the user that generated 
> the source document, or next best thing, the xml file, it is encouraged 
> that this attribute be populated.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> </xs:complexType>
>
>
>
> <xs:complexType name="ToAcctEmpExpense_Type" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type">
>
> <xs:complexContent>
>
> <xs:restriction base="ToAcctAPDoc_Type">
>
> <xs:sequence>
>
> <xs:choice minOccurs="0">
>
> <xs:sequence>
>
> <xs:choice minOccurs="0">
>
> <xs:element name="empID" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.empID">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="vendID" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.vendID">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> </xs:choice>
>
> <xs:choice minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> When the activity being transmitted in the document is NOT related to an 
> employee, then the Pay to the order of details are optional information 
> that the accounting system doesn't used.
>
> (2006-06-01) the system is being designed to support the receipt of the 
> full name and address information into the accounting as it is stored in 
> the DMS. Accept for some of the fields, in the case of employee related 
> documents, the accounting system does not at this time use this 
> information in any way, but, if the information is supplied, it will 
> retain these details with the history of what was imported.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:element name="PayToOrderOfPerson" type="DMSPersonInfo_Type" 
> nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.PayToOrderOfPerson"/>
>
> <xs:element name="PayToOrderOfCompany" type="DMSCpnyInfo_Type" 
> nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.PayToOrderOfCompany"/>
>
> </xs:choice>
>
> </xs:sequence>
>
> <xs:element name="ChkNbrToVoid" type="AcctChkNbr_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.ChkNbrToVoid">
>
> <xs:annotation>
>
> <xs:documentation>
>
> The initial design of the DMS to Accounting interface didn't not specify 
> the need to be able to transmit a request for a voiding of a check. 
> However, it seems reasonable that this may be desirable future enhancement 
> and subsequently the XML schema is being designed to support this future 
> need.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:element>
>
> </xs:choice>
>
> <xs:element name="AcctAddress" type="AcctAddress_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.AcctAddress"/>
>
> <xs:element name="InvoiceDate" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.InvoiceDate" 
> minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> Invoice is optional information.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:simpleType>
>
> <xs:restriction base="xs:date"/>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="Descr" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.Descr" minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> Invoice is optional information.
>
> </xs:documentation>
>
> </xs:annotation>
>
> <xs:simpleType>
>
> <xs:restriction base="xs:string">
>
> <xs:maxLength value="30"/>
>
> </xs:restriction>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="DocAmt" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.DocAmt">
>
> <xs:simpleType>
>
> <xs:restriction base="xs:float"/>
>
> </xs:simpleType>
>
> </xs:element>
>
> <xs:element name="ToAcctAPTran" type="ToAcctAPTran_Type" nillable="false" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.ToAcctAPTran" 
> maxOccurs="unbounded"/>
>
> <xs:element name="Other" type="Other_Type" nillable="true" 
> id="com.ttdsinc.dda.global.ToAcctEmpExpense_Type.Other" minOccurs="0">
>
> <xs:annotation>
>
> <xs:documentation>
>
> schema is being designed to anticipate a need for more information to be 
> transmitted. This element is intended to support this puposes.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:element>
>
> </xs:sequence>
>
> <xs:attribute ref="DMSDocType" use="required"/>
>
> <xs:attribute ref="DataSourceEntityID" use="required">
>
> <xs:annotation>
>
> <xs:documentation>
>
> is intended to be the unqiue identifier for the given document in the 
> source (i.e. DMS) system. The value from this field will be passed back 
> when check information is sent back to the source system.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceID" use="required">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied to facilitate the possibility that the import 
> processes that are being created to import information about AP activity 
> from DMS to the accounting system could conceivably be used to import 
> information from other sources as well. This attributes allows the 
> identification of the actual source of the data.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceUserID" use="optional">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied as an audit trail add. If it is at all possible for 
> the source system to include the user ID of the user that generated the 
> source document, it is encouraged that this attribute be populated.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> <xs:attribute ref="DataSourceComputerName" use="optional">
>
> <xs:annotation>
>
> <xs:documentation>
>
> attribute is supplied as an audit trail add. If it is at all possible for 
> the source system to include the computer name of the user that generated 
> the source document, or next best thing, the xml file, it is encouraged 
> that this attribute be populated.
>
> </xs:documentation>
>
> </xs:annotation>
>
> </xs:attribute>
>
> </xs:restriction>
>
> </xs:complexContent>
>
> </xs:complexType>
>
> "Stan Kitsis [MSFT]" <skits@m...> wrote in message 
> news:447f30c7$1@n......
>> Can you post your xsd snippet (both base and derived types)?
>>
>> -- 
>> Stan Kitsis
>> Program Manager, XML Technologies
>> Microsoft Corporation
>>
>> This posting is provided "AS IS" with no warranties, and confers no 
>> rights.
>>
>>
>> "Thomas Malia" <tommalia@w...> wrote in message 
>> news:%23VqWbFZhGHA.4276@T......
>>> I'm trying to create a type by creating a restiction on another type.
>>>
>>> I'm starting off by just copying the entire content of the base type 
>>> directly into the <xs:restriction> element of the derived type... XML 
>>> Spy says my derived type is not a valid restiction of the base type.... 
>>> How the heck can that be if it's an exact copy of the base type?  What 
>>> am I doing wrong?
>>>
>>
>>
>
> 




transparent
Print
Mail
Digg
delicious
Disclaimer
.

These Archives are provided for informational purposes only and have been generated directly from the Altova mailing list archive system and are comprised of the lists set forth on www.altova.com/list/index.html. Therefore, Altova does not warrant or guarantee the accuracy, reliability, completeness, usefulness, non-infringement of intellectual property rights, or quality of any content on the Altova Mailing List Archive(s), regardless of who originates that content. You expressly understand and agree that you bear all risks associated with using or relying on that content. Altova will not be liable or responsible in any way for any content posted including, but not limited to, any errors or omissions in content, or for any losses or damage of any kind incurred as a result of the use of or reliance on any content. This disclaimer and limitation on liability is in addition to the disclaimers and limitations contained in the Website Terms of Use and elsewhere on the site.

.
.

transparent

transparent