Приведенные ниже таблицы описывают следующие разметки типов, используемые по умолчанию, между типами данных Visual FoxPro и XML schema:
-
Типы данных Visual FoxPro в типы данных XML Schema Definition (XSD)
-
Типы данных XML Schema Definition (XSD) в типы данных Visual FoxPro
-
Типы данных XML Data Reduced (XDR) в типы данных Visual FoxPro
XML тип данных | Фасеты | Описание | Visual FoxPro тип данных |
---|---|---|---|
anyURI |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет унифицированный идентфикатор ресурса Uniform Resource Identifier (URI) как это определяется рекомендацией RFC 2396. Значение anyURI может быть абсолютным или относительным и может иметь вспомогательные фрагменты идентификатора. |
Memo. Visual FoxPro применяет гиперссылку на URI в поле Memo. |
base64Binary |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет произвольные base64-encoded бинарные данные. A base64Binary представляет собой набор последовательности бинарных октетов произвольной длины. |
Memo (Binary), Varbinary или Blob |
boolean |
pattern, whiteSpace |
Представляет значения Boolean, которые могут быть либо true, либо false. |
Logical |
date |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет календарную дату. Шаблоном для date является CCYY-MM-DD с необязательным индикатором временной зоны, как это разрешено для dateTime. |
Date |
dateTime |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет специфическую инстанцию времени. Шаблоном для dateTime является CCYY-MM-DDThh:mm:ss гдн CC представляет век, YY - год, MM - месяц и DD - день, который может быть сопровожден необзяательным ведущим символом (-) для отображения отрицательных значений. Если исмвол отрицательного значения опущен, то вместо него подразумевается символ положительного значения (+). T - представляет собой разделитель между календарной и временной частями date/time, а hh, mm и ss представляют час, минуту и, соответственно, секунду. Дополнительные цифры могут быть использованы для увеличения точности десятичных секунд, если это требуется. Например, поддерживается формат ss.ss... с любым количеством цифр после десятичной точки. Часть, указывающая на доли секунд является необязательной. Это представление может дополнено символом "Z" для отображения Coordinated Universal Time (UTC) или для отображения временной зоны. Например, различие между локальным временем и Coordinated Universal Time, со следующим непосредственно за ним знаком + или - с последующим значением различия отUTC представляется как hh:mm (минуты требуются). Если в вырадение включена временная зона, как часы, так и минуты должны быть в нем представлены. |
DateTime |
decimal |
enumeration, pattern, totalDigits, fractionDigits, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет произвольные десятичные числа. |
Numeric, Currency, или Character |
double |
pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет числа двойной точности - double-precision 64-bit floating-point. |
Double |
duration |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет длительность по времени. Шаблоном для duration является PnYnMnDTnHnMnS, где nY представляет число лет, nM - число месяцев, nD - число дней, T разделитель date/time, nH -число часов, nM - число минут и nS - число секунд. Например, для отображения длительности в 1 год, 2 месяца, 3 дня, 10 часов и 30 минут, вы должны записать: P1Y2M3DT10H30M. Вы можете, кроме того, отображать длительность в минус днях, например, 120 дней назад, как -P120D. |
Character (C(30)) |
float |
pattern, enumeration, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет числа обычной точности - single-precision 32-bit floating-point numbers. |
Double |
gDay |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет григорианский день, который повторяется, в частности день месяца, такой как пятый день месяца. gDay представляет собой пространство календарных дат. В частности, это набор длиной в один день, еземесячно повторяющиеся инстанции. Шаблоном для gDay является --DD с необязательным индикатором временной зоны, как это разрешено для date. |
Character (C(10)) |
gMonth |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет григорианский месяц, который повторяется каждый год. gMonth представляет пространство набора календарных месяцев. В частности, это набор длиной в один месяц, ежегодно повторяющиеся инстанции. Шаблоном для gMonth является -MM- с необязательным индикатором временной зоны, как это разрешено для date. |
Character (C(10)) |
gMonthDay |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет частную григорианскую дату которая повторяется, в частности день года, такой, как например, третье мая. gMonthDay представляет пространство календарных дат. В частности, это набор длиной в один день, ежегодно повторяющиеся инстанции. Шаблоном для gMonthDay является --MM-DD с необязательным индикатором временной зоны, как это разрешено для date. |
Character (C(10)) |
gYear |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет Григорианский год. Набор длиной в один месяц, неповторяющиеся инстанции. Шаблоном для gYear является CCYY с необязательным индикатором временной зоны, как это разрешено для dateTime. |
Character (C(15)) |
gYearMonth |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет определенный григорианский месяц в определенном григорианском году. Набор длиной в один месяц, неповторяющиеся инстанции. Шаблоном для gYearMonth является CCYY-MM с необязательным индикатором временной зоны. |
Character (C(15)) |
hexBinary |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет произвольные hex-encoded бинарные данные. hexBinary является набором последовательностей бинарных октетов произвольной длины. Каждый бинарный октет кодируется, как символьный кортеж, состоящий из двух hexadecimal цифр ([0-9a-fA-F]) представляющих код октета. |
Memo (Binary) |
NOTATION |
length, enumeration, pattern, maxLength, minLength, whiteSpace |
Представляет тип аттрибута NOTATION. Набор квалифицированных имен QNames. |
Memo |
QName |
length, enumeration, pattern, maxLength, minLength, whiteSpace |
Представляет квалифированное имя. Квалифицированное имя составляется из префикса и локального имени, разделенных двоеточием. Оба - и префикс и локальное имя должны быть в шаблоне NCName. Префикс должен быть ассоциирован с пространством имен (namespace) ссылки Uniform Resource Identifier (URI), используемой в декларации пространства имен. |
Memo |
string |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет символьные строки |
Character когда maxLength указана и меньше чем 255 символов. В противном случае - Memo. |
time |
enumeration, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, whiteSpace |
Представляет инстанцию времени, которая повторяется каждый день. Шаблоном для time является hh:mm:ss.sss с необязательным индикатором временной зоны. |
Character (C(20)) |
XML тип данных | Фасеты | Описание | Visual FoxPro тип данных |
---|---|---|---|
byte |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целочисленные с минимальным значением, равным -128 и максимальным, равным 127. Этот тип данных происходит из short. |
Integer |
ENTITIES |
length, maxLength, minLength, enumeration, whiteSpace |
Представляет тип аттрибута ENTITIES и содержит набор значений типа ENTITY. |
Character, если maxLength указана и меньше 255. В противном случае - Memo. |
ENTITY |
length, enumeration, pattern, maxLength, minLength, whiteSpace |
Представляет аттрибут ENTITY в рекомендации XML 1.0. Это является ссылкой на неразбираемую сущность с именем, которое соответствует указанному имени. ENTITY должен быть NCName и должен быть декларирован в схеме, как неразбираемое имя сущности.Этот тип данных происходит из NCName. |
Character, если maxLength указана и меньше than 255. В противном случае - Memo. |
ID |
length, enumeration, pattern, maxLength, minLength, whiteSpace |
Представляет собой тип аттрибута ID определенного в рекомендации XML 1.0. ID должен быть типа no-colon-name (NCName) и должен быть уникальным внутри всего XML документа. Этот тип данных происходит из NCName. |
Character, если maxLengthуказана и меньше than 255. В противном случае - Memo. |
IDREF |
length, enumeration, pattern, maxLength, minLength, whiteSpace |
Представляет ссылку на элемент, который имеет аттрибут ID, который в свою очередь соответствует определенному ID. IDREF должен быть типа NCName должен быть значением элемента или аттрибута типа ID внутри XML документа.Этот тип данных происходит из NCName. |
Character, если maxLength указана и меньше 255. В противном случае - Memo. |
IDREFS |
length, maxLength, minLength, enumeration, whiteSpace |
Представляет аттрибут типа IDREFS и содержит в себе набор значений типа IDREF. |
Character, если maxLength указана и меньше 255. В противном случае - Memo. |
int |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от -2147483648 до 2147483647. Этот тип данных происходит из long. |
Integer |
integer |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет последовательность десятичных цифр с необязательным ведиущим символом знака (+ или -). Этот тип данных происходит из decimal. |
Integer, если totalDigits меньше, чем 10. В противном случае, Character с учетом totalDigits. |
language |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет идентификатор естественнного языка (определенного рекомендацией RFC 1766). Этот тип данных происходит из token. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
long |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет собой целое число в диапазоне от -9223372036854775808 до 9223372036854775807. Этот тип данных происходит из integer. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
Name |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет имена в XML. Name собой token, который начинается с буквы, символа подчеркивания или колонки, продолженный с символами имени (буквы, цифры и прочие символы).Этот тип данных происходит из token. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
NCName |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет noncolonized имена. Этот тип данных представляет собой тот же тип, что и Name, за исключением того, что данные не могут начинаться с символа колонки.Этот тип данных происходит из Name. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
negativeInteger |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число, которое меньше или равно нулю и состоит из символа знака (-) и последовательности десятичных цифр. Этот тип данных происходит из nonPositiveInteger. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
NMTOKEN |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет тип аттрибута NMTOKEN type. MTOKEN предстадставляет собой набор символов, таких как буквы, цифры и другие символы в любой комбинации. В противоположность Name и NCName, NMTOKEN не имеет ограничения накладываемого на начальный символ.Этот тип данных происходит из token. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
NMTOKENS |
length, maxLength, minLength, enumeration, whiteSpace |
Представляет тип аттрибута NMTOKENS и содержит набор значений типа NMTOKEN. |
Memo |
nonNegativeInteger |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число, которое больше или равно нулю. Этот тип данных происходит из integer. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
nonPositiveInteger |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число, которое меньше или равно нулю и состоит из знака отрицательного числа (-) и последовательности десятичных цифр.Этот тип данных происходит из integer. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
normalizedString |
length, pattern, maxLength, minLength, enumeration, whiteSpace |
Представляет строки нормализованные пробелами. Этот тип данных происходит из string. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
positiveInteger |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число, которое больше чем ноль. Этот тип данных происходит из nonNegativeInteger. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
token |
enumeration, pattern, length, minLength, maxLength, whiteSpace |
Представляет tokenized строки. Этот тип данных происходит из normalizedString. |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
short |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от -32768 до 32767. Этот тип данных происходит из int. |
Integer |
unsignedByte |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от нуля and до 255. Этот тип данных происходит из unsignedShort. |
Integer |
unsignedInt |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от нуля and до 4294967295. Этот тип данных происходит из unsignedLong. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
unsignedLong |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от нуля до 18446744073709551615. Этот тип данных происходит из nonNegativeInteger. |
Integer, если totalDigits меньше,чем 10. В противном случае, Character с учетом totalDigits. |
unsignedShort |
enumeration, fractionDigits, pattern, minInclusive, minExclusive, maxInclusive, maxExclusive, totalDigits, whiteSpace |
Представляет целое число в диапазоне от нуля до 65535. Этот тип данных происходит из unsignedInt. |
Integer |
Visual FoxPro data type | XSD data type and examples | Restrictions and sample restriction | Comments |
---|---|---|---|
Blob |
xs:base64Binary |
|
Содержание транслировано в кодировку base64. Размечается в SQL Binary. |
Character |
xs:string Confirm this is electric |
|
|
Character (Binary) |
xs:string Confirm this is electric |
|
|
Currency |
xs:decimal -1.23, 0, 123, 4, 1000.00 |
|
Валюта всегда равна 19,4. |
Date |
xs:date 1999-05-31 |
нет |
|
DateTime |
xs:dateTime 1999-05-31T13:20:00.000-05:00 |
нет |
|
Double |
xs:double -INF, -1E4, -0, 0, 12.78E-2, 12, INF, NaN |
нет |
Экспортируемое значение должно включать максимальную шкалу, разрешенную для double и не ограничивать в отображении шкалы (внутренее значение double). |
Float |
xs:decimal |
|
totalDigits представляет число цифр, без учета десятичной точки. |
General |
Не поддерживается |
|
|
Integer |
xs:int -1, 126789675 |
|
|
Logical |
xs:boolean true, false, 1, 0 |
|
Значения могут быть либо true и false или 1 и 0. |
Memo |
xs:string |
|
|
Memo (Binary) |
xs:base64Binary |
|
Содержание транслировано в кодировку base64. Размечается к SQL Binary. |
Numeric |
xs:decimal -1.23, 0, 123, 1000.00 |
|
totalDigits представляет число цифр, без учета десятичной точки. |
Varbinary |
xs:base64Binary |
|
Содержание транслировано в кодировку base64. |
Varchar |
xs:string Confirm this is electric |
|
|
Varchar (Binary) |
xs:string Confirm this is electric |
|
|
Типы данных XML Schema Definition (XSD) в типы данных Visual FoxPro
Типы данны XSD | Типы данных Visual FoxPro |
---|---|
xsd:binaryBase64 |
Memo (Binary) |
xsd:boolean |
Logical |
xsd:date |
Date |
xsd:dateTime |
DateTime |
xsd:decimal |
Numeric |
xsd:double |
Double |
xsd:int |
Integer |
xsd:string |
Character |
xsd:string (более чем 254 символов в длину) |
Memo |
XDR тип данных | Описание | Visual FoxPro тип данных | XSD тип данных | ||
---|---|---|---|---|---|
bin.base64 |
Определяет MIME-style Base64-encoded бинарные данные. |
Memo (Binary) |
base64Binary | ||
bin.hex |
Определяет hexadecimal-encoded бинарные данные. |
Memo (Binary) |
hexBinary | ||
boolean |
Определяет значение Boolean, равное либо 0 либо 1. Пример: 0 это false, а 1 это true. |
Logical |
boolean | ||
char |
Определяет число, соответствующее Unicode представлению одиночного символа. |
нет |
не поддерживается | ||
date |
Определяет дату в поднаборе формата ISO 8601 без временной составляющей. Пример: "1994-11-05" |
Date |
date | ||
dateTime |
Определяет дату в поднаборе формата ISO 8601 с необязательной временной составляющей и временной зоной. Доли секунд могут быть уточнены до наносекунд. Пример: "1988-04-07T18:39:09" |
DateTime |
dateTime | ||
dateTime.tz |
Определяет дату в поднаборе формата ISO 8601 с необязательной временной составляющей и временной зоной. Доли секунд могут быть уточнены до наносекунд. Пример: "1988-04-07T18:39:09-08:00" |
нет |
нет | ||
entity |
Определяет ссылку на неразбираемую сущность, требующую соответствия декларации <!ENTITY> для каждой инстанции сущности. |
нет |
нет | ||
entities |
Определяет список сущносте, разделенный пробелами. |
нет |
нет | ||
enumeration |
Аналогичен nmtoken но со списком разрешенных значений. Поддерживается только в аттрибутах. Пример: "Red Blue Green" |
нет |
нет | ||
fixed.14.4 |
Определяет число с не более, чем четырнадцатью фирами слева от десятичной точки и не более чем с четырьмя числами справа от десятичной точки. Пример: 9999.0044 |
Currency |
decimal 19,4 | ||
float |
Определяет число формата real floating point Примеры: 111, 3.14, -123.456E+10 |
Double |
double | ||
i1 |
Определяет 1-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -128 до 127. Примеры: 1, 127, -128 |
Integer |
byte | ||
i2 |
Определяет 2-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -32768 до 32767. Примеры: 1, 703, -32768 |
Integer |
short | ||
i4 |
Определяет 4-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -2147483648 до 2147483647 Примеры: 1, 703, -32768, 148343, -1000000000 |
Integer |
int | ||
i8 |
Определяет 8-байтовое целое число с необязательным символом знака, лежащее в диапазоне от -9223372036854775808 до 9223372036854775807. Примеры: 1, 703, -32768, 1483433434334, -1000000000000000 |
Character или Integer |
long | ||
id |
Определяет значение, которое идентифицирует аттрибут, как аттрибут id типа. Значения id должны быть уникальными внутри документа. В документе, аттрибут idref(s) ссылается на аттрибут id типа, формируя связь аналогичную связи между первичным и внешним ключами в реляционных базах данных. Пример: Cust1 |
нет |
нет | ||
idref |
Определяет значение, соответствующее id типу, разрешая внутридокументные ссылки. Пример: Cust1 |
нет |
нет | ||
idrefs |
Аналогично idref, за исключением того, что содержит множество значений id типа, разделенные пробелами. Пример: Cust1 Cust2 Cust3 |
нет |
нет | ||
int |
Определяет целое число со знаком. Примеры 11123, -123 |
Integer |
int | ||
nmtoken |
Содержит значения, которые удовлетворяют правилу name token. Пример: Cust1 |
нет |
нет | ||
nmtokens |
Аналогично nmtoken, за исключением того, что содердит список значений nmtoken, разделенный пробелами. Пример: Cust1 Cust2 Cust3 |
нет |
нет | ||
notation |
A NOTATION type |
нет |
нет | ||
number |
Число без ограничения в цифрах Примеры: 111, 3.14, -123.456E+10
|
Character, Currency, или Numeric - как подойдет |
decimal | ||
r4 |
Тоже, что и float, но только в 4-байтной кодировке. Значения могут лежать в диапазоне от 1.17549435E-38F до 3.40282347E+38F. |
Double |
float | ||
r8 |
Определяет число с плавающей запятой. Этот тип данных поддерживает только 15 цифр точности и значения в диапазоне от 2.2250738585072014E-308 до 1.7976931348623157E+308. |
Double |
double | ||
string |
Определяет строку. Пример: "This is a string" |
Character, если maxLength указано и меньше, чем 255. В противном случае, Memo. |
string | ||
time |
Определяет время в поднаборе формата ISO 8601 без даты и временной зоны. Пример: "08:15:27" |
нет |
нет | ||
time.tz |
Определяет время в поднаборе формата ISO 8601 без даты, но с необязательной временной зоной. Пример: "08:15:27-05:00" |
нет |
нет | ||
ui1 |
Определяет 1-байтное целое число без знака в диапазоне от 0 до 255. Примеры: 1, 255 |
Integer |
unsignedByte | ||
ui2 |
Определяет 2-байтное целое число без знака в диапазоне от 0 до 65535. Примеры: 1, 255, 65535 |
Integer |
unsignedShort | ||
ui4 |
Определяет 4-байтное целое число без знака в диапазоне от 0 до 4294967296. Примеры: 1, 703, 3000000000 |
Character или Integer |
unsignedInt | ||
ui8 |
Определяет 8-байтное целое число без знака в диапазоне от 0 до 18446744073709551615. Пример: 1483433434334 |
Character или Integer |
unsignedLong | ||
uri |
Идентифицирует Uniform Resource Identifier (URI). Пример: "urn:schemas-microsoft-com:Office9" |
Memo |
anyURI | ||
uuid |
Содержит hexadecimal цифры, представляющие октеты с необязательно включенными символами переноса, которые просто игнорируются. Пример: 333C7BC4-460F-11D0-BC04-0080C7055A83 |
Character (C(40)) |
string |
Смотрите также
Справочное руководство
Данные Visual FoxPro и типы полейКласс XMLAdapter
Класс XMLTable
Класс XMLField