XML Tutorial/XML Schema/Simple Type — различия между версиями

Материал из Web эксперт
Перейти к: навигация, поиск
 
м (1 версия)
 
(нет различий)

Текущая версия на 11:26, 26 мая 2010

A ISO date without a time zone

   <source lang="xml">

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

 targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru"
 elementFormDefault="qualified">
 <xs:simpleType name="dateISO">
   <xs:restriction base="xs:date">
     <xs:pattern value="[^:Z]*" />
   </xs:restriction>
 </xs:simpleType>

</xs:schema></source>


An anonymous simple string datatype for which any one of three literal string patterns (Small, Medium, or Large) are acceptable

   <source lang="xml">

<?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

 targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru"
 elementFormDefault="qualified">
 <xs:simpleType>
   <xs:restriction base="xs:string">
     <xs:pattern value="Small|Medium|Large" />
   </xs:restriction>
 </xs:simpleType>

</xs:schema></source>


Declaring an Element with a Simple Type

   <source lang="xml">

An element has a simple type if it"s only allowed to contain other elements or attributes. There are many different built-in simple types. You can create your own, based on one of the built-in types. File: Schema.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

 targetNamespace="http://www.wbex.ru" 
 xmlns="http://www.wbex.ru"
 elementFormDefault="qualified">
 <xs:element name="weight" type="xs:string" />

</xs:schema>

File: Data.xml <?xml version="1.0"?> <weight>3 points</weight> File: Schema.xsd <?xml version="1.0"?> <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"

 targetNamespace="http://www.wbex.ru" xmlns="http://www.wbex.ru"
 elementFormDefault="qualified">
 <xs:element name="population" type="xs:integer" />

</xs:schema>

File: Data.xml <?xml version="1.0"?> <population>28</population></source>


Simple Type Definitions

   <source lang="xml">

<simpleType final="#all | (list | union | restriction)"

     id="ID"
     name="NCName"
     {any attributes with non-schema namespace}

>

 Content: (annotation?, (restriction | list | union))

</simpleType></source>


The simple type may be defined globally, as a child of an attribute declaration, or within an element content model

   <source lang="xml">

<xsd:simpleType name="deptType">

 <xsd:restriction base="xsd:string">
  <xsd:enumeration value="management"/>
  <xsd:enumeration value="programming"/>
  <xsd:enumeration value="design"/>
  <xsd:enumeration value="training"/>
 </xsd:restriction>

</xsd:simpleType></source>


User-Defined Data types

   <source lang="xml">

You can create custom user-defined data types using the <simpleType> definition: <simpleType name="name of the simpleType"

           final="#all or list or union or restriction"> 

To declare a <simpleType>, you must always base your declaration on an existing data type. The existing data type may be a built-in XML Schema data type or a custom datatype. <simpleType>definitions are often called derived types. There are three primary derived types: Restriction types List types Union types</source>


XML Schemas provide a number of built-in simple types.

   <source lang="xml">

Type Description string Any character data normalizedString A whitespace-normalized string token A string that does not contain sequences of two or more spaces, tabs, carriage returns, or linefeed characters byte A numeric value from -128 to 127 unsignedByte A numeric value from 0 to 255 base64Binary Base64 encoded binary information hexBinary Hexadecimal encoded binary information integer A numeric value representing a whole number positiveInteger An integer whose value is greater than 0 negativeInteger An integer whose value is less than 0 nonNegativeInteger An integer whose value is 0 or greater nonPositiveInteger An integer whose value is less than or equal to 0 int A numeric value from ?47483648 to 2147483647 unsignedInt A numeric value from 0 to 4294967295 long A numeric value from ?23372036854775808 to 9223372036854775807 unsignedLong A numeric value from 0to 18446744073709551615 short A numeric value from ?768 to 32767 unsignedShort A numeric value from 0 to 65535 decimal A numeric value that may or may not include a fractional part float 32-bit floating-point type, INF, -INF, and NaN are also valid values. double 64-bit floating-point type. -0, INF, -INF, and NaN are also valid values. boolean true, false, 0, and 1 time. dateTime An instant of time. For example, 2008-07-12T16:30:00.000. duration A span of time. For example, P30D is 30 days. date A date of the Gregorian calendar. For example, 2008-05-25 is a valid date value. gMonth A month of Gregorian calendar. For example, --07 is a valid gMonth value. gYear A year of Gregorian calendar. For example, 2008 is a valid gYear value. gYearMonth A specific month and year. For example, 1998-07is a valid gYearMonth value. gDay A recurring day of the month. For example, ---12 is a valid gDay value. gMonthDay A recurring day of a specific month. For example, --07-12 is a valid gMonthDay value. name An XML name according to the Namespace Recommendation. QName A qualified XML name as defined in the Namespaces Recommendation. NCName A noncolonized XML name that does not include a namespace prefix or colon anyURI A valid Uniform Resource Identifier (URI) language A language constant as defined in RFC 1766

In addition to the types listed, the XML Schema Recommendation also allows the types defined within the XML Recommendation. These types include ID, IDREF, IDREFS, ENTITY, ENTITIES, NOTATION, NMTOKEN, and NMTOKENS.</source>