Sign Up

Sign Up to our social questions and Answers Engine to ask questions, answer people’s questions, and connect with other people.

Have an account? Sign In

Have an account? Sign In Now

Sign In

Login to our social questions & Answers Engine to ask questions answer people’s questions & connect with other people.

Sign Up Here

Forgot Password?

Don't have account, Sign Up Here

Forgot Password

Lost your password? Please enter your email address. You will receive a link and will create a new password via email.

Have an account? Sign In Now

You must login to ask a question.

Forgot Password?

Need An Account, Sign Up Here

Please briefly explain why you feel this question should be reported.

Please briefly explain why you feel this answer should be reported.

Please briefly explain why you feel this user should be reported.

Sign InSign Up

The Archive Base

The Archive Base Logo The Archive Base Logo

The Archive Base Navigation

  • SEARCH
  • Home
  • About Us
  • Blog
  • Contact Us
Search
Ask A Question

Mobile menu

Close
Ask a Question
  • Home
  • Add group
  • Groups page
  • Feed
  • User Profile
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Buy Points
  • Users
  • Help
  • Buy Theme
  • SEARCH
Home/ Questions/Q 5958049
In Process

The Archive Base Latest Questions

Editorial Team
  • 0
Editorial Team
Asked: May 22, 20262026-05-22T18:29:17+00:00 2026-05-22T18:29:17+00:00

I know that you can restrict value of an element by doing something as

  • 0

I know that you can restrict value of an element by doing something as following.

<xs:element name="DataType">
    <xs:simpleType>
        <xs:restriction base="???">
            <xs:enumeration value="integer" />
            <xs:enumeration value="string" />
            <xs:enumeration value="boolean" />
        </xs:restriction>
    </xs:simpleType>
<xs:element>

But what if I want to restrict the values to a list of XML schema primitive types such as xs:integer, xs:string, xs:boolean, etc. What should the @base attribute of restriction element be?

I want to do something like…

xs:integer

  • 1 1 Answer
  • 0 Views
  • 0 Followers
  • 0
Share
  • Facebook
  • Report

Leave an answer
Cancel reply

You must login to add an answer.

Forgot Password?

Need An Account, Sign Up Here

1 Answer

  • Voted
  • Oldest
  • Recent
  • Random
  1. Editorial Team
    Editorial Team
    2026-05-22T18:29:18+00:00Added an answer on May 22, 2026 at 6:29 pm

    I want to restrict the values to a
    list of XML schema primitive types
    such as xs:integer, xs:string,
    xs:boolean, etc.

    Do you mean that you want the values to be a list of certain type or do you want to have a list of types and allow that value can have any type which is mentioned in that list?

    For the first one, use <xs:list> for the second one, use <xs:union>.

    How to use <xs:union>

    Unions are declared simply by listing the appropriate (simple) types in the memberTypes attribute. You can also use named simple types that are defined in that schema file.

    <xs:element name="DataType">
        <xs:simpleType>
            <xs:union memberTypes="xs:integer xs:boolean"/>
        </xs:simpleType>
    <xs:element>
    

    This allows following kind of code

    <DataType>42</DataType>
    <DataType>true</DataType>
    

    How to use <xs:list>

    Lists are declared similarly to unions, but you cannot directly combine multiple types in the same list (using a type derived by a union as a base type of the list type should be possible though).

    <xs:element name="DataType">
        <xs:simpleType>
            <xs:list itemType="xs:integer"/>
        </xs:simpleType>
    <xs:element>
    

    This allows following kind of code

    <DataType>42</DataType>
    <DataType>2 18 10794</DataType>
    

    The list separator characters are fixed: items must be separated with a whitespace character.

    Edit to address the comment below

    Sorry for misunderstanding your question. There is no built-in datatype that lists the type names, so you need to list all the names in an enumeration.

    If you use an enumeration, you don’t actually need to use any special (more restricted) base type because only the valid values get listed. Plain old xs:string is good enough for the base attribute. Precisely speaking all the built-in type names are qualified names (or non-colonized names if namespace prefix is not counted) so the most appropriate base type should be xs:QName or xs:NCName. You can use these types, if you would like to skip the enumeration and only want to assure that the contents could syntactically be a valid name for a type.

    Built-in schema datatypes (and their derivation hierarchy) can be seen from this image http://www.w3.org/TR/xmlschema-2/#built-in-datatypes

    • 0
    • Reply
    • Share
      Share
      • Share on Facebook
      • Share on Twitter
      • Share on LinkedIn
      • Share on WhatsApp
      • Report

Sidebar

Related Questions

I know that I can do something like $int = (int)99; //(int) has a
I know that I can use $('#myId').load('aPage.html'); to load a page into an element,
I know that you can insert multiple rows at once, is there a way
I know that JTable can sort by a single column. But is it possible
I know that I can share files using Shared Folders in Virtual PC, but
I know that I can insert multiple rows using a single statement, if I
I know that you can use a dummy int parameter on operator++ and operator--
I know that you can run almost all Java in Dalvik's VM that you
I know that CSS can be used to control the presentation of (X)HTML in
I know that you can apply CSS in order to style objects in Flex

Explore

  • Home
  • Add group
  • Groups page
  • Communities
  • Questions
    • New Questions
    • Trending Questions
    • Must read Questions
    • Hot Questions
  • Polls
  • Tags
  • Badges
  • Users
  • Help
  • SEARCH

Footer

© 2021 The Archive Base. All Rights Reserved
With Love by The Archive Base

Insert/edit link

Enter the destination URL

Or link to existing content

    No search term specified. Showing recent items. Search or use up and down arrow keys to select an item.