xml - How to parametrize type in XSD? -


i have type named adapterinputdatatype defines format of kind of input data:

<schema xmlns="http://www.w3.org/2001/xmlschema"         targetnamespace="http://companyname.org/adapterinputdatatypens"         xmlns:tns="http://companyname.org/adapterinputdatatypens" >      <complextype name="adapterinputdatatype">         <sequence>             <element name="atomicelement" type="tns:atomicelementtype" minoccurs="0" maxoccurs="unbounded"/>         </sequence>     </complextype>      <complextype name="atomicelementtype">         <simplecontent>             <extension base="tns:atomicelementvaluetype">                 <attribute name="elementname" type="tns:atomicelementnametype" use="required"/>             </extension>         </simplecontent>     </complextype>      <simpletype name="atomicelementvaluetype">         <union membertypes="string long decimal datetime boolean"/>     </simpletype>      <simpletype name="atomicelementnametype">         <restriction base="string">             <enumeration value="foo"/>             <enumeration value="bar"/>             <enumeration value="baz"/>         </restriction>     </simpletype>  </schema> 

adapterinputdatatype intended define element of type inside of several namespaces:

<schema xmlns="http://www.w3.org/2001/xmlschema"         targetnamespace="http://companyname.org/adapter1"         xmlns:tns="http://companyname.org/adapter1"         xmlns:inptypns="http://companyname.org/adapterinputdatatypens" >      <import namespace="http://companyname.org/adapterinputdatatypens"/>      <element name="adapterinputdata" type="inptypns:adapterinputdatatype"/>  </schema>  <schema xmlns="http://www.w3.org/2001/xmlschema"         targetnamespace="http://companyname.org/adapter2"         xmlns:tns="http://companyname.org/adapter2"         xmlns:inptypns="http://companyname.org/adapterinputdatatypens" >      <import namespace="http://companyname.org/adapterinputdatatypens"/>      <element name="adapterinputdata" type="inptypns:adapterinputdatatype"/>  </schema> 

the problem each namespace type imported specific set of allowed values elementname attribute should defined. in other words, in different namespaces adapterinputdatatype should based on different atomicelementnametype types.

is there way use in adapterinputdatatype definition kind of parameter instead of atomicelementnametype , put different atomicelementnametype types in different namespaces value of parameter?

sounds me case substitution groups.

define atomicalement global element declaration abstract="true", , in various message-specific schema documents can define concrete elements, using substitutiongroup="tns:atomicelement" make them substitutable abstract element. type of concrete element must same as, or derived from, type of abstract element; achieved giving abstract element type="xs:anytype".


Comments

Popular posts from this blog

c# - DetailsView in ASP.Net - How to add another column on the side/add a control in each row? -

javascript - firefox memory leak -

Trying to import CSV file to a SQL Server database using asp.net and c# - can't find what I'm missing -