Как удалить элемент из XML-документа в C#?
Show
Значительные улучшения в простоте дизайна и ясности изложения без ущерба для обратной и прямой совместимости; Поддержка версий для языков XML, определенных с использованием спецификации схемы XML, включая синтаксис передачи XML для самих схем. Эти цели немного расходятся; . 0 и 1. 1
С точки зрения совместимости, общая цель состоит в том, чтобы
1. 2 ЦельСпецификация определяет ограниченные средства для применения типов данных к содержимому документа, такого как документы, содержащие или ссылающиеся на DTD, которые присваивают типы элементам и атрибутам. Однако авторам документов, как традиционным, так и XML-переносчикам данных, часто требуется более высокий уровень проверки типов, чтобы обеспечить надежность понимания документов и обмена данными. В таблице ниже представлены два типичных примера экземпляров XML с неявными типами данных. Экземпляр слева — это счет-фактура, а экземпляр справа — заметка или, возможно, сообщение электронной почты в формате XML. Ориентация на данныеОриентация на документ<invoice> <orderDate>1999-01-21</orderDate> <shipDate>1999-01-25</shipDate> <billingAddress> <name>Ashok Malhotra</name> <street>123 Microsoft Ave.</street> <city>Hawthorne</city> <state>NY</state> <zip>10532-0000</zip> </billingAddress> <voice>555-1234</voice> <fax>555-4321</fax> </invoice> <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo> Счет-фактура включает несколько дат и телефонных номеров, аббревиатуру для штата (выбирается из пронумерованного списка разрешенных значений) и почтовый индекс (в определяемой обычной форме). дата, номер телефона, адрес электронной почты и значение «важности» (из списка вариантов, таких как «низкий», «средний» или «высокий») В обоих случаях существуют действительные ограничения на содержимое экземпляров, которые не могут быть выражены в XML DTD. 1. 3 Зависимости от других спецификацийДругие требования, от которых зависит этот, перечислены в Эта спецификация определяет некоторые типы данных, которые полагаются на определения в и; . Версия 0 (,) и Версия 1. 1 (,) из этих требований. В любом заданном приложении этой спецификации выбор 1. 0 или 1. Одним из примеров типа данных является Реализации, соответствующие этой спецификации, могут предоставлять либо 1. 1 на основе типов данных или 1. типы данных на основе 0 или оба. Если оба поддерживаются, принимается решение о том, какие типы данных использовать в конкретном эпизоде оценки. должен находиться под контролем пользователя. Примечание. Реализации должны следовать этой спецификации при проверке правильности типа данных ввода XML. может предоставить эвристику для использования номер один. Если ввод помечен как XML 1, типы данных равны 1. 1, и используя 1. Если вход помечен 1, возвращается 0 типов данных. 0, но эта эвристика должна быть переопределена пользователем в случаях, когда пользователи желают принять XML 1. 1 вход, но он проверяется с помощью 1. Принимать типы данных XML 1 или 0. Подтвердите ввод 0 с помощью 1. 1 тип данных. В этой спецификации используется обозначение EBNF спецификации. есть различия. См. спецификацию для более подробного описания нотации EBNF. 1. 4 ТребованияВ документе указаны конкретные требования, которым должна соответствовать эта спецификация, в которых говорится, что должен использоваться язык схемы XML.
1. 5 ОбъемТипы данных, определенные в этой спецификации, могут использоваться в XML-схеме. 1. 6 ТерминологияТерминология, используемая для описания типов данных схемы XML, определена в теле спецификации. Термины, определенные в следующем списке, используются для построения этих определений, а также для описания действий процессора типов данных. [Определение. ] для совместимости Эта спецификация включает функцию исключительно для того, чтобы схемы, использующие эту функцию, оставались с ней совместимыми. [Определение. ] соответствовать (Из строк или имен. ) Две сравниваемые строки или имена должны быть идентичными. Символы в ISO/IEC 10646 с несколькими возможными представлениями (e. g. g. Символы как с предварительно составленными, так и с базовыми диакритическими формами) совпадают, только если их представление в обеих строках одинаково. Складывание корпуса не выполняется (О строках и правилах грамматики). ) Строка соответствует грамматической продукции тогда и только тогда, когда она является членом языка, порожденного этой постановкой. [Определение. ] может Схемы, документы схемы и процессоры могут, но не обязаны вести себя так, как описано [Определение. ] следует Рекомендуется, чтобы схемы, документы схемы и обработчики вели себя так, как описано, но могут быть веские причины, по которым это не так; [Определение. ] должен (О схемах и документах схемы. ) Схемы и документы должны вести себя так, как описано; . (Из процессоров. ) Процессоры должны действовать в соответствии со спецификациями [Определение. ] не должен Схемы, документы схемы и процессоры не могут вести себя так, как описано; . [Определение. ] ошибка Несоблюдение правил данной спецификации схемой или документом схемы Если не указано иное, обработчики должны различать безошибочные (соответствующие) схемы и документы схемы; . должен сообщить об этом; . Если нарушается более одного из ограничений, указанных в этой спецификации, сообщается о том, сколько и о каких нарушениях. Запись. Отказ элемента или атрибута XML быть допустимым для определенного типа данных в определенной схеме не является несоответствием этой спецификации и, следовательно, не является ошибкой для целей этой спецификации. [Определение. ] параметр пользователя Выбор процессора, оставленный на усмотрение пользователя, а не фиксированный для всех пользователей или вариантов использования процессора. Эта спецификация включает такие утверждения, как «Процессоры могут «по усмотрению пользователя» означать, что процессоры будут вести себя определенным образом. может предоставлять пользователям механизмы для (i). e. вызывающие процессоры), чтобы включить или отключить указанное поведение. Процессоры, которые не предлагают такие удобные элементы управления, не должны вести себя указанным образом. Процессоры, предлагающие такие удобные элементы управления, должны позволять пользователю деактивировать дополнительное поведение. Запись. Обычное ожидание от таких опций состоит в том, что настройка по умолчанию отключит рассматриваемое дополнительное поведение, включив его только тогда, когда пользователь явно запрашивает его. Однако это не является обязательным требованием для соблюдения. Если в документации процессора указано, что пользователь может отключить дополнительное поведение, то вызов процессора без запроса на его отключение может быть интерпретирован как запрос на его включение. Однако требуется, чтобы пользователь мог отключить необязательное поведение Запись. Ничто в этой спецификации не ограничивает, как процессоры позволяют пользователям управлять параметрами пользователя. Параметры командной строки, параметры меню в графическом пользовательском интерфейсе, переменные среды, альтернативные шаблоны вызовов в интерфейсе прикладного программирования и другие механизмы могут рассматриваться для предоставления пользовательских параметров. 1. 7 Ограничения и вкладыЭта спецификация включает три типа нормативных утверждений о компонентах схемы, их XML-представлениях и их вкладе в проверку схемы информационных элементов. [Определение. ] Ограничение на схемы Ограничение на сами компоненты схемы, i. e. e. условия, которым компоненты должны соответствовать, чтобы быть компонентами вообще. В основном можно найти в [Определение. ] Ограничение представления схемы Ограничения XML на представление компонентов схемы. [Определение. ] Правило проверки Компоненты схемы выражают ограничения, которым информационные элементы должны соответствовать, чтобы быть допустимыми для схемы. 2 Система типов данныхВ этом разделе объясняется концептуальная основа, лежащая в основе системы типов данных, определенной в этой спецификации. Типы данных, рассматриваемые в этой спецификации, в основном представляют собой хорошо известные абстрактные понятия, такие как целое число и дата. Эта спецификация не предназначена для тщательного определения этих абстрактных понятий; . Эта спецификация, с другой стороны, попытается описать абстрактные понятия в достаточной степени, чтобы их можно было легко распознать и отличить от других абстракций, с которыми их можно спутать. Запись. Эта спецификация определяет только операции и отношения, необходимые для обработки схемы. Обычно ожидается, что приложения, использующие эти типы данных, будут реализовывать соответствующие дополнительные функции и/или отношения, чтобы тип данных был полезен в целом. Для некоторых типов данных (например,. g. или) определено частично посредством ссылки на другие спецификации, которые налагают ограничения, не являющиеся частью типов данных, определенных здесь, приложения могут также захотеть проверить, соответствуют ли значения требованиям, указанным в текущей версии соответствующей внешней спецификации. 2. 1 тип данных[Определение. ]
Запись. В этой спецификации определены только операции и отношения, необходимые для обработки схемы. e. , как идентифицировать типы данных и варианты «реального мира», для которых типы данных, определенные здесь, предназначены для использования для обмена данными. Кроме того, часто бывает полезно иметь инверсию, которая обеспечивает стандарт для каждого значения. Отображение лексических представлений в значения зависит от контекста для некоторых типов данных, в первую очередь and; Запись. Они определены для типов данных везде, где они определены в этой спецификации. Когда тип данных получен с использованием фасетов, которые непосредственно ограничивают его, соответствующие лексические представления удаляются из лексического пространства для каждого значения, исключаемого из лексического пространства. Для такого типа данных является подмножеством для его типа и предоставляет для каждого оставшегося значения в Фасет же, как и любые другие () грани, ограничивают непосредственно. Когда предоставляется более одного лексического представления для данного значения, такие аспекты могут удалять, допуская другое лексическое представление; . . В таких случаях регресс по настоящей спецификации невозможен. Приложения могут обращаться с этим так, как считают нужным Запись. В этой спецификации используется более короткая форма «тип», когда ожидается более длинная форма «тип данных» (например,. g. g. во фразах «тип объединения», «тип списка», «базовый тип», «тип элемента» и т. д. Нет намеренного систематического различия между формами этих фраз с «типом» и формами с «типом данных»; Напротив, различие между «типом данных» и «определением простого типа» содержит больше информации. Тип данных отличается значком ,, и т. д. , как описано ранее, независимо от конкретных аспектов или других механизмов определения, используемых в определении простого типа для описания этого конкретного или. Различные определения простых типов с различными аспектами могут описывать один и тот же тип данных. 2. 2 Пространство значений2. 2. 1 [Определение. ]. . (Если во время вывода отображение ограничено таким образом, что значение не имеет обозначения, это значение удаляется из пространства значений. ). ) Пространства значений типов данных — это абстракции, которые определены в той мере, в какой это необходимо, чтобы прояснить их для читателей. Запись. Пространства значений и содержащиеся в них значения являются абстракциями. Кроме того, ожидается, что другие приложения будут определять дополнительные соответствующие операции и/или отношения в этих пространствах значений (например,. g. ,. g. , сложение и умножение в пространствах значений различных числовых типов данных), и им разрешено переопределять операции и отношения, определенные в этой спецификации, где это уместно, при условии, что отношения и операции, используемые для обработки схемы, определены здесь. Тип данных может быть определен одним из нескольких способов.
Каждое пространство значений требует отношений тождества и равенства. Некоторые пространства значений имеют отношение порядка, но не все. Другие отношения или операции предписаны для нескольких типов данных для целей этой спецификации. 2. 2. 1 ЛичностьОтношение идентичности всегда указывается. Каждое пространство значений имеет тождественное отношение по определению. Две вещи идентичны тогда и только тогда, когда они одинаковы. я. e. , если нет возможности отличить их друг от друга. Запись. Это не исключает использования нескольких внутренних представлений для заданного значения при реализации типов данных, если в реализации типа данных нет встроенного механизма (т. e. e. Помимо «приведения» данных к другому типу данных с сохранением битовой строки), два представления будут различаться. Значения из разных типов данных искусственно различаются в определенном здесь отношении идентичности, если в противном случае они считались бы идентичными. ПРЕДУПРЕЖДЕНИЕ. Необходимо соблюдать осторожность при идентификации значений в различных примитивных типах данных. 1 или 0. Пространство значений содержит 10000000009, и каждый литерал сопоставляется с ближайшим значением, а именно 0. 100000001490116119384765625), но они соответствуют разным значениям в Запись. Типы данных не генерируют новые значения; . . В результате « <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>5», рассматриваемое как «a», « <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>5», рассматриваемое как «an», и « <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>5», рассматриваемое как «все обозначают одно и то же значение». Они не только равны, но и одинаковы Если заданы два списка A и B, то A и B являются одним и тем же списком, если они содержат одинаковую последовательность атомарных значений. Элементы A и B попарно идентичны элементам B, что является одновременно необходимым и достаточным условием для этой идентичности. Запись. Существует только один пустой список в результате только что сформулированного правила для идентификатора списка. Пустой список, объявленный как имеющий, не только равен, но и идентичен другому пустому списку, объявленному как имеющему 2. 2. 2 РавенствоДля пространства значений каждого типа данных указано отношение равенства. Равенство, с другой стороны, не обязательно должно охватывать все пространство значений типа данных (хотя обычно это происходит). В частности, в типах данных и NaN не равен самому себе. При выполнении перечислением, проверке ограничений идентичности (в контексте) и проверке ограничений значения это отношение равенства используется в сочетании с идентичностью. При оформлении привлекающего ордера используется совместно с ордером. Отношение равенства, используемое для оценки выражений XPath, может различаться. Запись. Предыдущая версия этой спецификации (1. 0), равенство всегда было тождеством Тип данных, например, имеет равенство, которое не является тождеством (. 0), и чей домен исключает одно значение, NaN, так что В другом примере, когда значение было преобразовано в тип данных, ранее терявший любую информацию о смещении часового пояса в; Значения из разных примитивных пространств данных искусственно делаются неравными в отношении равенства, определенном здесь, даже если в противном случае они считались бы равными. A и B равны тогда и только тогда, когда их длины одинаковы, а их элементы попарно равны. Список одной длины, содержащий значение V1 и атомарное значение V2, равен тогда и только тогда, когда V1 равен V2. Для целей этой спецификации существует одно отношение равенства для всех значений всех типов данных (объединение индивидуальных равенств различных типов данных, если отношения рассматриваются как наборы упорядоченных пар). х = у и х ≠ у 2. 2. 3 ЗаказОтношение порядка предписано для некоторых типов данных, которые будут использоваться при проверке верхней и нижней границ. . [Определение. ]. Два несовместимых значения. При принятии решений, связанных с порядком, отношение порядка используется в сочетании с равенством. Это отношение меньшего порядка обозначается '' (и обратное ему '>'), слабый порядок - '' (и его обратное - ''), а результирующее отношение - '>', все из которых используются Запись. Слабый порядок «меньше или равно» означает «меньше чем» или «равно», и очевидно, что есть что. ) Пространства значений примитивных типов данных не пересекаются для целей этой спецификации, даже если считается, что представляемые ими абстракции имеют общие значения. Запись. В зависимости от контекста сравнение значений из разных типов данных может быть ошибкой или нет. Такое сравнение, сделанное для проверки ограничения перечисления, само по себе не является ошибкой, но поскольку никакие два значения из разных наборов не равны, любое сравнение значений неизменно будет ложным. Наоборот, указание верхней или нижней границы неправильного примитивного типа данных (и, следовательно, значений типа данных, которые он должен ограничивать) всегда является ошибкой. Это результат правил соответствия простых определений типов, верхних и нижних границ и перечисляемых значений. должен быть взят из пространства значений типа данных, что обязательно означает из того же типа данных. Сравнение значений в контексте выражения XPath (например,. g. g. в утверждении или в правилах присвоения условного типа) может вызвать динамическую ошибку при оценке выражения XPath; 2. 3 Лексическое отображение и лексическое пространство[Определение. ] [Определение. ] [Определение. ] Запись. Определенная здесь карта из типов данных в, но не в них. . Типы данных включают «невыразимые» значения, для которых в этой спецификации нет лексического представления. Это (общая) функция для всего (а не просто для) для и атомарных типов данных. . Каждый член сопоставляется с некоторым членом, и каждое значение сопоставляется с некоторым членом. Для типов данных не всегда является функцией, потому что одно и то же значение может отображаться на разные значения в разных типах членов. Является функцией для типов данных тогда и только тогда, когда список является функцией [Определение. ]. Этот термин используется взаимозаменяемо как для последовательностей символов, которые являются членами определенного семейства, так и для тех, которые не являются. Если деривация вводит значение фасета (либо новое значение, либо фасет, определенный реализацией), соответствующее преобразование строки символов, если оно вообще изменило строку, может предотвратить применение к этой строке производного типа данных. . e. , они не находятся в диапазоне преобразования фасета) всегда удаляются из производных типов данных Запись. Важно понимать, что в контексте допустимости схемы XML существуют преобразования строки входных символов (управляемые фасетом и любыми фасетами, определенными реализацией), которые приводят к желаемому результату. . Если вывод осуществляется с использованием механизма, удаляющего из до такой степени, что одно или несколько значений больше не имеют никаких значений, то эти значения удаляются из. Запись. Это может произойти через тот или иной аспект или через описанный выше аспект. Если деривация удаляет значения, они удаляются, если только нет значения фасета, влияние которого определено так, чтобы вместо этого отброшенное в противном случае значение отображалось на другое значение. Запись. В настоящее время нет аспектов, оказывающих такое влияние Например, «100» и «1. 0E2' - это два разных типа данных, которые представляют одно и то же значение. 2. 3. 1 каноническое сопоставлениеХотя типы данных, определенные в этой спецификации, часто имеют одно значение (т. e. , значение каждого типа данных обозначается единичным в своем), но это не всегда так. [Определение. ]. . [Определение. ] . недоступны для контекстно-зависимых типов данных (т. e. e. , сопоставления, в которых значение a зависит от контекста, в котором оно встречается, или строки символов, которые могут быть или не быть допустимыми в зависимости от контекста) Запись. предусмотрены для использования другими приложениями, где это возможно; . 2. 4 различия типов данных2. 4. 1 Полезно классифицировать типы данных, определенные в этой спецификации, по разным измерениям, определяя термины, которые можно использовать для характеристики типов данных и определяющих их элементов. 2. 4. 1 Атомный против. Список против. Объединение типов данныхДля начала мы различаем и типы данных [Определение. ]
Например, один токен from находится в пространстве значений типа данных, тогда как последовательность таких токенов находится в пространстве значений типа данных. 2. 4. 1. 1 атомарные типы данныхТип данных состоит из набора «атомарных» или элементарных значений. Запись. Атомарные значения иногда рассматриваются и описываются как «неразложимые», но значения в нескольких определенных здесь типах данных имеют внутреннюю структуру, которая используется для определения того, удовлетворяют ли конкретные значения различным ограничениям (например,. g. g. верхняя и нижняя границы типа данных). Другие спецификации, которые используют определенные здесь типы данных, могут определять операции, которые присваивают внутреннюю структуру значениям и раскрывают или воздействуют на эту структуру. Тип данных — это набор, внутренняя структура которого уникальна для рассматриваемого типа данных. Есть один тип данных () и несколько типов данных, которые имеют. Ни один тип данных не может иметь в качестве. 2. 4. 1. 2 списка типов данныхТипы данных всегда являются производными от другого типа; . . Тип данных — это набор последовательностей конечной длины из нуля или более значений, где каждое значение берется из и не имеет пробелов. Тип данных — это набор, каждый из которых представляет собой разделенную пробелом последовательность [Определение. ]. должен быть. Пример <simpleType name='sizes'> <list itemType='decimal'/> </simpleType> <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes> Тип данных может быть обычным или типом данных, допускающим использование пробелов (например, или), или любым из них, допускающим использование пробелов. Поскольку элементы разделяются пробелами перед сопоставлением со значениями, в элементе никогда не будет пробелов, даже если тип элемента теоретически допускает это. Пример <simpleType name='listOfString'> <list itemType='string'/> </simpleType> <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>0 В предыдущем примере значение элемента someElement равно 18, а не 3. Следующие правила применяются, когда тип данных определяется типом данных. Длина каждого из и измеряется количеством элементов списка. Для типов данных состоит из разделенных пробелом. . Точно так же перечисляемые значения сравниваются со всем , а не с отдельными элементами списка, и применяются также ко всему. Списки идентичны тогда и только тогда, когда их длины одинаковы, а их элементы попарно идентичны; . И список одной длины, элемент которого является атомарным значением V1, равен или идентичен списку, элемент которого является атомарным значением V2, тогда и только тогда, когда V1 равен или идентичен V2. Пример <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>1 Используя, тип данных сопоставляет каждое значение с разделенной пробелом конкатенацией всех элементов в значении (по порядку). 2. 4. 1. 3 типа данных UnionТипы Union могут быть определены двумя способами. Когда тип объединения by, его и являются «упорядоченными объединениями» его, и. Следует отметить, что объединение, как определено, не всегда является функцией. Данное может отображаться на одно или несколько значений разных типов данных, и может быть неясно, какое значение следует предпочесть в данном контексте. Когда типы данных, определенные здесь, используются в контексте, атрибут <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>8, определенный в разделе, может использоваться для указания того, какое значение a, которое является содержимым элемента, должно отображаться на. Другие правила (например, правила приведения типов) могут использоваться в других контекстах, чтобы определить, какое значение следует использовать. Когда один тип объединения определяется другим, его и являются его подмножествами, и. Типы данных всегда отличаются друг от друга; . . В настоящее время нет Пример Сама схема in XML является прототипом типа. Как показано ниже, это объединение nonNegativeInteger и перечисления с единственным членом, строкой "unbounded. " <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>3 Тип может включать любое количество (ноль или более) обычных или [Определение. ] Запись. Типы членов объединения — это простые определения типов, указанные в свойстве, когда типы данных представлены с использованием компонентов схемы XSD, как описано в разделе [Определение. ]. Если U является a, то (a) он находится в транзитивном членстве U, и (b) для любых типов данных T1 и T2, если T1 находится в транзитивном членстве U, а T2 является одним из T1, то T2 также находится в транзитивном членстве U А не должен содержать ни тот, ни какой-либо другой тип данных или из. [Определение. ] [Определение. ]. Говорят, что эта последовательность типов данных находится между M и U. Когда в контексте указаны U и M, типы данных в последовательности называются промежуточными объединениями. Множество промежуточных объединений является пустым множеством, когда M является одним из U [Определение. ]. [Определение. ]. Это активный основной член профсоюза. Порядок, в котором указаны в определении (то есть порядок элементов simpleType>, дочерних элементов union>, или порядок элементов s в атрибуте <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>9 в случае типов данных, определенных в документе схемы) имеет значение. Во время проверки значение элемента или атрибута проверяется в том порядке, в котором они появляются в определении, пока не будет найдено совпадение. Пример Например, учитывая приведенное ниже определение, первый экземпляр элемента size> проверяется как, второй и третий как <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>5 <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>6 Каждое значение типа данных сопоставляется с этим значением, полученным с использованием первого значения, в пространстве значений которого оно находится. Следующие правила применяются, когда тип данных определяется типом данных. 2. 4. 2 Особые против. Примитив против. Обычные типы данныхПосле этого мы различаем и (или) типы данных
В этой спецификации, например, тип данных основан на четко определенной математической концепции, которая не определена в терминах других типов данных, в то время как из более общего типа данных. 2. 4. 2. 1 ограничение на основе аспектов[Определение. ]. Тип должен быть либо a, либо типом данных. 2. 4. 2. 2 Строительство по спискуТип данных может быть получен из другого типа данных (его) путем построения a из последовательностей конечной длины из нуля или более значений его. . Типы данных имеют это как их. Следует отметить, что, поскольку и любого типа данных обязательно являются подмножествами и, любой тип данных как а является своего базового типа. 2. 4. 2. 3 Строительство СоюзомПутем объединения их и, следовательно, их и один тип данных может быть получен из одного или нескольких типов данных. . . Следует отметить, что, поскольку и любого типа данных обязательно являются подмножествами и, любой тип данных как а является своего базового типа. 2. 4. 3 Определение, вывод, ограничение и дизайнХотя определение, вывод, ограничение и построение концептуально различны, на практике они часто выполняются одними и теми же механизмами. Под «определением» мы подразумеваем явную идентификацию релевантных свойств типа данных, в частности его и. Эта спецификация определяет свойства и стандартные типы данных. A присутствует в каждой допустимой схеме для каждого из этих типов данных; Запись. Свойства любого типа данных приведены в документации к рассматриваемой реализации, а не здесь. В качестве альтернативы примитивный тип данных, который не указан в этом документе, может быть указан в отдельном документе, который не привязан к конкретной реализации; Достаточно для всех других типов данных. Свойства типа данных могут быть выведены из типов данных и свойств, если таковые имеются. Вот как можно определить все типы данных Связь типа данных с его типом или с его типом и т. д. называется «порождением». ' За исключением случаев, когда он связан с другим типом данных, его базовый тип. Базовые типы включают и [Определение. ] Запись. Предыдущее не исключает того, что for имеет значение. . . ) В более общем смысле, Если и только если выполняется одно из следующих условий, тип данных R является производным от другого типа данных B.
Тип данных не должен быть от самого себя. Другими словами, отношение базового типа должно быть ациклическим. В результате предыдущего, каждый тип данных, кроме Поскольку каждый тип данных имеет ровно один тип данных, кроме прямо или косвенно производных, отношение организует все простые типы в древовидную структуру, известную как иерархия производных. Определение типа данных, чьи и являются подмножествами его подмножеств, подразумевается под «ограничением». ' Формально, когда один тип данных R является ограничением другого типа данных B,
Обратите внимание, что все три типа данных производят. делает это с помощью, в то время как или потому что те, кто принимает за. В результате все типы данных. Эта спецификация не содержит условий для определения типа данных таким образом, чтобы он имел большее или большее значение, чем его Термин «конструкция» относится к процессу создания типа данных путем определения его в терминах другого [Определение. ]. Эти три формы часто упоминаются как "", "by" и "by" соответственно. Типы данных, построенные таким образом, могут быть полностью поняты (для целей системы типов) с точки зрения (а) свойств типа(ов) данных, из которых они созданы, и (б) их собственных свойств. . Это отличает типы данных от типов данных и , которые можно понять только из документации (в частности, их описания в других местах этой спецификации или, например, в соответствующей документации по конкретной реализации). Каждый тип данных и каждый тип данных. 2. 4. 4 Встроенная vs. Пользовательские типы данных
Типы данных спроектированы так, чтобы быть доступными автоматически всякий раз, когда эта спецификация реализуется или используется, будь то сама по себе или как часть базового языка. Типы данных автоматически включаются в каждую допустимую схему на языке, определенном. Другие базовые языки должны указывать, что все типы данных, описанные здесь как встроенные, доступны по умолчанию; . may specify that additional datatypes are automatically made available. Запись. Типы данных, независимо от того, могут ли они включаться автоматически в любые схемы, обрабатываемые этой реализацией время от времени; Эта спецификация не определяет механизм предоставления типов данных для использования; . должен определяться основным языком. [Определение. ] Запись. С точки зрения автора схемы, ссылка на тип данных, который оказывается типом данных, может указывать на любое из следующего или другое. 1 Произошла ошибка при указании имени типа данных. 2 Тип данных — это тип данных, который не был сделан доступным с помощью определенных средств основного языка (например,. g. g. потому что соответствующий документ схемы не был сверен). 3 Тип данных не поддерживается реализацией. 4 Тип данных — это тип данных, который автоматически предоставляется некоторыми реализациями, но не используемой реализацией. 5 Тип данных — это тип данных с базовым типом Эти случаи, вероятно, будут неразличимы с точки зрения реализацииЗапись. Упомянутые здесь типы данных называются в терминологии Нет концептуальной разницы между типами данных, включенными в эту спецификацию, и типами данных, созданными отдельными разработчиками схемы. Типы данных считаются настолько распространенными, что многие разработчики схем в конечном итоге изобрели бы их заново, если бы они не были определены в этой спецификации. 3 интегрированных типа данных и их определенияДиаграмма, иллюстрирующая отношения наследования иерархии типов. (Подробное объяснение схемы доступно отдельно. ). ) Каждый встроенный тип данных, определенный в этой спецификации, может быть уникально адресован с использованием следующей ссылки URI.
Например, URI используется для обращения к типу данных
Кроме того, каждый элемент определения фасета может быть уникально адресован с использованием следующего URI.
Например, URI используется для обращения к аспекту maxInclusive.
Кроме того, использование каждого аспекта во встроенной функции может быть уникально адресовано с использованием URI, построенного следующим образом.
Например, URI используется для решения проблемы использования фасета maxInclusive в определении int.
3. 1 Вопросы пространства именТипы данных этой спецификации предназначены для использования с языком определения схемы XML, а также с другими спецификациями XML. Типы данных в этой спецификации имеют имя пространства имен для облегчения использования в языке определения схемы XML.
Для облегчения использования в спецификациях, отличных от языка определения XML-схемы, например, в тех, которые не хотят ничего знать об аспектах языка определения XML-схемы, кроме типов данных, каждый тип данных также определяется в пространстве имен, для которого указан URI.
Каждый тип данных также может быть связан с определенным пространством имен. (См. в. ) 3. 2 специальных встроенных типа данных3. 2. 1 Два типа данных в верхней части иерархии простых типов — это и 3. 2. 1 любой простой типanySimpleType — это специализация anyType. Для получения дополнительной информации и его представления в качестве. 3. 2. 1. 1 место для значенийof - это множество всех и всех списков конечной длины с нулем или более элементов. Запись. В результате этого определения, а также определения в следующем разделе, некоторые значения этого типа данных не могут использовать определенные этой спецификацией. То есть термины «потенциальный» и «изреченный» или «именуемый» различаются для этого типа данных. В этой спецификации нет операционной разницы между потенциальным и выразимым, и это различие в основном представляет формальный интерес. Поскольку некоторые базовые языки для определенной здесь системы типов могут разрешать средства построения значений, отличные от отображения из a, различие может быть важным в некоторых контекстах. Если не указано иное, этот термин следует понимать как означающий потенциал в этих контекстах. 3. 2. 1. 2 Лексическое отображениеЭто множество всех последовательностей конечной длины из нуля или более s (как определено в ), которые могут быть получены. . Это равносильно объединению всех и всех возможных типов данных. Это вопрос о том, поддерживает ли реализация этой спецификации производство из или производство из обоих. Видеть Это объединение всех типов данных и всех типов данных списка. Следует отметить, что это не функция. Данное может отображаться на одно или несколько значений разных типов данных, и может быть неясно, какое значение следует предпочесть в данном контексте. Когда типы данных, определенные здесь, используются в контексте, атрибут <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>8, определенный в разделе, может использоваться для указания того, какое значение a, которое является содержимым элемента, должно отображаться на. Другие правила (например, правила приведения типов) могут использоваться в других контекстах, чтобы определить, какое значение следует использовать. 3. 2. 1. 3 аспектаПри определении нового типа данных нельзя использовать в качестве. В результате нет прямого применения к. 3. 2. 2 любой атомный тип[Определение. ]. and of anyAtomicType являются объединением всех типов данных и, а anyAtomicType является их объединением. Для получения дополнительной информации и его представления в качестве. 3. 2. 2. 1 место для значенийof — это объединение всех типов данных, определенных здесь или представленных как 3. 2. 2. 2 Лексическое отображениеЭто множество всех последовательностей конечной длины из нуля или более s (как определено в ), которые могут быть получены. . Это то же самое, что объединение всех типов данных Это вопрос о том, поддерживает ли реализация этой спецификации производство из или производство из обоих. Видеть of представляет объединение всех типов данных. Следует отметить, что это не функция. Данное может отображаться на одно или несколько значений разных типов данных, и может быть неясно, какое значение следует предпочесть в данном контексте. Когда типы данных, определенные здесь, используются в контексте, атрибут <cerealSizes xsi:type='sizes'> 8 10.5 12 </cerealSizes>8, определенный в разделе, может использоваться для указания того, какое значение a, которое является содержимым элемента, должно отображаться на. Другие правила (например, правила приведения типов) могут использоваться в других контекстах, чтобы определить, какое значение следует использовать. 3. 2. 2. 3 аспектаПри определении нового типа данных нельзя использовать в качестве. В результате нет прямого применения к. 3. 3 примитивных типа данных3. 3. 1 Типы данных этой спецификации описаны ниже. Соответствующие процессоры должны не поддерживать ли они типы данных, определенные в этой спецификации; . Эта спецификация может быть пересмотрена для включения новых типов данных. Примечание. Процессоры могут поддерживать десятичный тип данных с плавающей запятой, указанный, например, в. 3. 3. 1 струна[Определение. ] Запись. Многие человеческие языки имеют системы записи, которые полагаются на дочерние элементы для управления такими вещами, как двунаправленное форматирование или рубиновые аннотации (см. и Раздел 8). 2. 4 из ). В таких случаях следует рассматривать сложный тип со смешанным содержанием. Раздел 5 содержит дополнительную информацию. 5 из 3. 3. 1. 1 место для значенийof - это набор последовательностей конечной длины из нуля или более s (как определено в ), из которых продукция состоит из. . А — атомарная единица связи; Это вопрос о том, поддерживает ли реализация этой спецификации производство из или производство из обоих. Видеть Равенство для тождества. Порядок не установлен Запись. Как указано в, отсутствие отношения порядка в этой спецификации не мешает другим приложениям обрабатывать строки как упорядоченные. 3. 3. 1. 2 Лексическое отображениеof - это набор последовательностей конечной длины из нуля или более s (как определено в ), из которых продукция состоит из. Лексическое пространство [1] stringRep . = * */ (как определено в) Это вопрос о том, поддерживает ли реализация этой спецификации производство из или производство из обоих. Видеть for и the оба являются подмножествами функции тождества 3. 3. 1. 3 аспектаТип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 1. 4 производных типа данныхСледующий тип данных получен из 3. 3. 2 логическое значение[Определение. ] 3. 3. 2. 1 место для значенийимеет логику двух значений. {правда, ложь} 3. 3. 2. 2 Лексическое отображениелексическое пространство состоит из четырех слов. Лексическое пространство [2] booleanRep . = ' <simpleType name='listOfString'> <list itemType='string'/> </simpleType>6'. « <simpleType name='listOfString'> <list itemType='string'/> </simpleType>7». « <simpleType name='listOfString'> <list itemType='string'/> </simpleType>8». " <simpleType name='listOfString'> <list itemType='string'/> </simpleType>9" Слово для ; 3. 3. 2. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 3 десятичных[Определение. ]. Десятичная система — это набор чисел, полученных делением целого числа на неотрицательную степень числа десять, i. e. e. , как выражается я. Это пространство значений не отражает точности; . Число 0 не отличается от числа 2. 00. Отношение порядка для десятичных чисел является подмножеством отношения порядка для действительных чисел. Запись. См. Decimal Datatypes для десятичного типа данных, значения которого отражают точность. 3. 3. 3. 1 лексическое сопоставлениеdecimal имеет лексическое представление, состоящее из непустой последовательности десятичных цифр конечной длины (#x30–#x39), разделенных точкой в качестве десятичного индикатора. Например. « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>00», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>01», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>02», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>03» Лексическое представление [3] decimalLexicalRep . знак равно. Десятичное лексическое пространство — это набор лексических представлений, которые соответствуют приведенной выше грамматике или (эквивалентно) регулярному выражению. <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>04 Отображение лексических представлений в значения является стандартным для десятичных чисел; Определение имеет эффект исключения некоторых опций из. Предшествующий необязательный знак " " не разрешен для других значений. должен Справа и слева от десятичной точки должна быть хотя бы одна цифра, которая может быть нулем. Формальное отображение значений в приведено в 3. 3. 3. 2 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 3. 3 типа данных на основе десятичного числаСледующий тип данных получен из 3. 3. 4 поплавка[Определение. ]. . 3. 3. 4. 1 место для значенийсодержит все ненулевые числа. Запись. Как объяснено ниже, значение notANumber равно « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05». Соответственно, в английском тексте мы обычно используем «NaN» для обозначения этого значения. Точно так же мы используем «INF» и «-INF» для обозначения двух значений положительной бесконечности и отрицательной бесконечности, а «0» и «-0» для обозначения положительных и отрицательных нулей. Равенство и порядок определяются следующим образом
Запись. Любое значение со значением, используемым для четырех ограничивающих фасетов (, , и ) будет исключено из результирующего ограниченного. В частности, когда NaN используется в качестве значения фасета для ограничивающего фасета, поскольку с ним нет значений, результатом является пустое. Если для ограничивающего фасета используется какое-либо другое значение, NaN будет исключен из результирующего ограничения; Запись. Схема 1. 0 версия этого типа данных не различала 0 и -0, а NaN был равен самому себе. Изменения были внесены, чтобы сделать тип данных более точно отражающим 3. 3. 4. 2 Лексическое отображениеЭто набор всех десятичных цифр с десятичной точкой или без нее, цифр в научной (экспоненциальной) записи, а также « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>07», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>08», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>09» и « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05». Лексическое пространство [4] floatRep . знак равно. . . Результат эквивалентен этому регулярному выражению (после удаления пробелов из регулярного выражения)<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>11 Тип данных предназначен для реализации для обработки схемы типа данных с плавающей запятой одинарной точности. Эта спецификация не определяет конкретных, но предписывает требования к любому используемому. Любая функция, которая отображает только что описанное на , является функцией, удовлетворяет требованиям и правильно обрабатывает отображение литералов ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>07', ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05' и т. д. , до , удовлетворяет требованиям соответствия этой спецификации Поскольку IEEE допускает некоторые различия в округлении значений, процессоры, соответствующие этой спецификации, могут демонстрировать некоторые различия в своих значениях. Предоставляется в качестве примера простого алгоритма, который дает соответствующее отображение и обеспечивает наиболее точное возможное округление, и, таким образом, полезен для обеспечения воспроизводимости между реализациями и кругового обхода между реализациями. Простой алгоритм округления, используемый в , может быть более эффективно реализован с использованием алгоритмов Запись. Схема 1. 0 версия этого типа данных не позволяла использовать алгоритмы округления, результаты которых отличались от Предоставлено как пример отображения, которое не производит излишне длинных. Другие алгоритмы, которые не дают идентичных результатов для преобразования значений с плавающей запятой в строки символов, разрешены 3. 3. 4. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 5 двухместных[Определение. ] Тип данных double основан на 64-битном типе данных с плавающей запятой двойной точности IEEE. Каждый тип данных с плавающей запятой имеет пространство значений, которое является подмножеством рациональных чисел. Запись. Единственными существенными различиями между float и double являются три определяющие константы 53 (против 24), -1074 (против -149) и 971 (против 104). 3. 3. 5. 1 место для значенийЧисло содержит ненулевые числа m × 2e , где m – целое число, абсолютное значение которого меньше 253, а e – целое число от −1074 до 971 включительно. Запись. Как объяснено ниже, значение notANumber равно « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05». Соответственно, в английском тексте мы обычно используем «NaN» для обозначения этого значения. Точно так же мы используем «INF» и «-INF» для обозначения двух значений положительной бесконечности и отрицательной бесконечности, а «0» и «-0» для обозначения положительных и отрицательных нулей. Равенство и порядок определяются следующим образом
Запись. Любое значение со значением, используемым для четырех ограничивающих фасетов (, , и ) будет исключено из результирующего ограниченного. В частности, когда NaN используется в качестве значения фасета для ограничивающего фасета, поскольку с ним нет значений, результатом является пустое. Если для ограничивающего фасета используется какое-либо другое значение, NaN будет исключен из результирующего ограничения; Запись. Схема 1. 0 версия этого типа данных не различала 0 и -0, а NaN был равен самому себе. Изменения были внесены, чтобы сделать тип данных более точно отражающим 3. 3. 5. 2 Лексическое отображениеЭто набор всех десятичных цифр с десятичной точкой или без нее, цифр в научной (экспоненциальной) записи, а также « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>07», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>08», « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>09» и « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05». Лексическое пространство [5] doubleRep . знак равно. . . Результат эквивалентен этому регулярному выражению (после удаления пробелов из выражения)<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>30 Тип данных предназначен для реализации для обработки схемы типа данных с плавающей запятой двойной точности. Эта спецификация не определяет конкретных, но предписывает требования к любому используемому. Любая функция, которая отображает только что описанное на , является функцией, удовлетворяет требованиям и правильно обрабатывает отображение литералов ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>07', ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>05' и т. д. , до , удовлетворяет требованиям соответствия этой спецификации Поскольку IEEE допускает некоторые различия в округлении значений, процессоры, соответствующие этой спецификации, могут демонстрировать некоторые различия в своих значениях. Предоставляется в качестве примера простого алгоритма, который дает соответствующее отображение и обеспечивает наиболее точное возможное округление, и, таким образом, полезен для обеспечения воспроизводимости между реализациями и кругового обхода между реализациями. Простой алгоритм округления, используемый в , может быть более эффективно реализован с использованием алгоритмов Запись. Схема 1. 0 версия этого типа данных не позволяла использовать алгоритмы округления, результаты которых отличались от Предоставлено как пример отображения, которое не производит излишне длинных. Другие алгоритмы, которые не дают идентичных результатов для преобразования значений с плавающей запятой в строки символов, разрешены 3. 3. 5. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 6 продолжительность[Определение. ] duration – это тип данных, представляющий продолжительность времени. Концепция фиксируемой длительности взята из концепции , в частности длительности без фиксированных конечных точек. Например, «15 дней» (наиболее распространенное лексическое представление которого — « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>33») — это значение; . может обеспечивать операции сложения и вычитания между значениями и между парами /значение и может быть результатом вычитания значений. Однако для обработки XML-схемы требуется только дополнение, которое определяется в функции. 3. 3. 6. 1 место для значенийЗначения длительности можно моделировать как кортежи с двумя свойствами. Каждое значение состоит из целого числа месяцев и десятичного числа секунд. Значение не должно быть отрицательным, если значение положительное, и не должно . Свойства значений · месяцев · · секунд · значение; . must not be negative if is positive, and must not be positive if is negative. частично заказано. Равенство определяется через равенство ; . В частности, равенство или порядок двух значений определяется путем добавления каждого из пары к каждому из следующих четырех значений.
Запись. Эти четыре значения выбраны таким образом, чтобы максимизировать возможные различия в результатах, которые могут возникнуть, например, разницу при добавлении P1M и P30D. 1697-02-01T00. 00. 00Z + P1M 1903-03-01T00. 00. 00Z + P30D, так что P1M P30D. Если два значения упорядочены одинаково при добавлении к каждому из этих четырех значений, они сохранят тот же порядок при добавлении к любым другим значениям. Следовательно, два значения несравнимы тогда и только тогда, когда они могут привести к разным порядкам при добавлении к любому значению. Согласно только что данному определению, два значения равны тогда и только тогда, когда они идентичны. Запись. Два полностью упорядоченных типа данных ( и ) получены из Запись. Существует множество способов реализации, некоторые из которых не основывают реализацию на двухкомпонентной модели. Эта спецификация не предписывает какую-либо конкретную реализацию, если видимые результаты изоморфны описанным здесь. Запись. См. примечания о соответствии в , которые относятся к этому типу данных. 3. 3. 6. 2 Лексическое отображениеОни более или менее основаны на шаблоне <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>34 Точнее, это набор строк символов, которые удовлетворяют следующим условиям: Фрагменты лексического представления [6] duYearFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>35' [7] duMonthFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>36' [8] duDayFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>37' [9] duHourFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>38' [10] duMinuteFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>36' [11] duSecondFrag . знак равно. ) ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>50' [12] duYearMonthFrag . знак равно. [13] duTimeFrag . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>51' (( ? ?). ( ?). ) [14] duDayTimeFrag . знак равно. Лексическое представление [15] durationLexicalRep . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52'? . ) Таким образом, a состоит из одного или нескольких из a, , , , и/или по порядку с буквами «__ <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>53» и « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>51» (и, возможно, « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52»), где это уместно. Язык, принятый в производстве, представляет собой набор строк, которые удовлетворяют всем следующим трем регулярным выражениям.
<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>0 для ибо есть 3. 3. 6. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 6. 4 связанных типа данныхСледующие типы данных взяты из 3. 3. 7 ДатаВремяпредставляет моменты времени, необязательно отмеченные смещением определенного часового пояса. Значения, представляющие один и тот же момент, но имеющие разные смещения часовых поясов, равны, но не идентичны. 3. 3. 7. 1 место для значенийиспользует , без каких-либо свойств, за исключением того, что разрешено отсутствовать. Имущество остается Запись. В версии 1. 0 этой спецификации свойство не может иметь нулевое значение. Год до 1 года в пролептическом григорианском календаре, традиционно обозначаемый как 1 г. до н.э. или 1 г. до н.э., был представлен значением -1, 2 г. до н.э. - -2 и так далее. Конечно, многие, а возможно, и большинство ссылок на 1 г. до н. э. (или 1 г. до н. э.) на самом деле относятся не к году пролептического григорианского календаря, а к году юлианского или «старого стиля» календаря; В этой версии этой спецификации внесены два изменения, чтобы согласовать существующее использование. Во-первых, разрешено иметь нулевое значение. Во-вторых, соответственно меняется интерпретация ценностей. значение нуля представляет 1 BCE, -1 представляет 2 BCE и т. д. Это представление упрощает интервальную арифметику и вычисление високосного года для дат до нашей эры (возможно, поэтому астрономы и другие лица, заинтересованные в таких вычислениях с пролептическим григорианским календарем, приняли его), и согласуется с текущим изданием Обратите внимание, что 1 г. до н.э., 5 г. до н.э. и т. д. (годы 0000, -0004 и т. д.). в определенном здесь лексическом представлении) являются високосными годами в пролептическом григорианском календаре, используемом для определенных здесь типов данных даты/времени. Версия 1. 0 этой спецификации было неясно, как обращаться с високосными годами до нашей эры. Если в существующих схемах или данных указаны даты 29 февраля для любых лет до нашей эры, то некоторые значения, дающие дату 29 февраля, которые были действительны при правдоподобной интерпретации XSD 1. 0 будет недействительным в соответствии с этой спецификацией, а некоторые недействительные будут действительными. За этим возможным исключением схемы и данные, действительные при старой интерпретации, остаются действительными и при новой интерпретации. Ограничение. Значения дня месяца Значение должно быть не более 30, если оно является одним из 4, 6, 9 или 11; . Запись. См. примечание о соответствии, в котором применяется к значениям и этого типа данных. Равенство и порядок прописаны в. значения упорядочены по их значению Запись. Поскольку порядок значения, имеющего относительно другого значения, отсутствующего, определяется путем вменения смещения часового пояса обоих +14. 00 и −14. 00 к значению без смещения часового пояса, будет много таких комбинаций, потому что два вмененных смещения часового пояса дают разные порядки. Хотя и другие типы, связанные с датами и временем, имеют только частичный порядок, типы данных, производные от, могут иметь общий порядок, если они ограничены (например,. g. с использованием фасета) к подмножеству значений со смещением часового пояса или подмножеству значений без него. Аналогичные ограничения для других типов, связанных с датой и временем, будут аналогичным образом создавать полностью упорядоченные подтипы. Обратите внимание, однако, что такие ограничения не влияют на значение, показанное для данного , в фасете Запись. Порядок и равенство по сути такие же, как и в версии 1 в этой версии этой спецификации. 0. Однако, поскольку значения теперь различают смещения часовых поясов, одинаковые значения с разными s не идентичны, и значения с крайними s больше не могут быть равны любому значению с меньшим 3. 3. 7. 2 Лексическое отображениеЛексические представления for следующие: Лексическое пространство [16] dateTimeLexicalRep . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' '__ <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>51' (( ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>66' ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>66' ). ) ? . Представления дня месяца Ограничение. Представления дня месяца Внутри a не должно начинаться с цифры ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>68' или быть ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>69', если только значение, которому оно будет сопоставлено, не . Значения дня месяца"), приведенные выше. В таких представлениях
Производство эквивалентно этому регулярному выражению после удаления пробела. <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>1Обратите внимание, что ни производство, ни это регулярное выражение сами по себе не налагают ограничение на указанное выше для. Это 3. 3. 7. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 7. 4 связанных типа данныхСледующий тип данных получен из 3. 3. 8 разпредставляет моменты времени, которые повторяются в один и тот же момент каждого календарного дня или происходят в какой-то произвольный календарный день 3. 3. 8. 1 место для значенийиспользует , с , и должен отсутствовать. останки Запись. См. примечание о соответствии, в котором применяется значение этого типа данных. Равенство и порядок прописаны в. значения (моменты времени в «произвольный» день) упорядочены с учетом их Календарный день (или «местное время») с большим положительным смещением часового пояса начинается раньше, чем тот же календарный день с меньшим (или отрицательным) смещением часового пояса. Поскольку смещения часовых поясов разрешено распространять на 28 часов, период, обозначенный данным календарным днем с одним смещением часового пояса, может быть полностью отделен от периода, обозначенного тем же календарным днем с другим смещением - более ранний день заканчивается . Моменты времени, представленные одним календарным днем, распределены по 52-часовому интервалу, от начала дня в +14. 00 часовой пояс смещен на конец этого дня в -14. 00 смещение часового пояса Запись. Относительный порядок двух значений, одно из которых имеет значение «отсутствует», определяется путем вменения смещения часового пояса обоих +14. 00 и −14. 00 к значению без смещения. Будет много таких комбинаций, потому что два вмененных смещения часовых поясов дают разные порядки. Однако для данного значения, не привязанного к часовому поясу, всегда будут значения с часовым поясом на одном или обоих концах 52-часового интервала, которые (поскольку интервал составляет всего 28 часов) Некоторые пары литералов, которые в 1. Версия 0 этой спецификации теперь обозначала одно и то же значение (в этой версии) вместо этого обозначала разные значения, поскольку значения теперь включают информацию о смещении часового пояса. Некоторые такие пары, такие как « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>06» и « <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>07», теперь обозначают равные, хотя и разные значения (поскольку они обозначают одни и те же точки на временной шкале); . 00. 00−03. 00 > 02. 00. 00Z потому что 23. 00. 00−03. 00 в любой день равно 02. 00. 00Z на следующий день) 3. 3. 8. 2 лексических сопоставленияЛексические представления для являются «проекциями» тех из , как показано ниже. Лексическое пространство [17] timeLexicalRep . = (( ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>66' '__ <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>66' ). ) ?Производство эквивалентно этому регулярному выражению после удаления пробела. Обратите внимание, что ни производство, ни это регулярное выражение сами по себе не налагают ограничение на указанное выше<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>12 Слово для ; Запись. Карты " <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>13" и " <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>14" в одно и то же значение, а именно в полночь ( = 0 , = 0 , = 0) 3. 3. 8. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 9 дата[Определение. ] date представляет интервалы с максимальной открытостью продолжительностью ровно один день на временной шкале , начиная с момента начала каждого дня и заканчивая моментом начала следующего дня, но не включая его). Для значений без часового пояса верхние открытые интервалы не пересекаются с временной шкалой без часового пояса, по одному в день. Для значений с часовыми поясами интервалы начинаются каждую минуту и, следовательно, перекрываются. 3. 3. 9. 1 место для значенийиспользует , с , и должен отсутствовать. останки Ограничение. Значения дня месяца Значение должно быть не более 30, если является одним из 4, 6, 9 или 11, и не более 28, если . Запись. См. примечание о соответствии, в котором применяется значение этого типа данных. Равенство и порядок прописаны в Запись. В версии 1. 0 этой спецификации значения не сохраняли смещение часового пояса явно, но для смещений, не слишком далеких от нуля, их смещение часового пояса можно было восстановить на основе первого момента их значения на временной шкале. Сохраняет все смещения часовых поясов Некоторые значения с разными смещениями часовых поясов, которые были идентичны в 1. 0 версии этой спецификации, например 2000-01-01+13. 00 и 1999-12-31-11. 00, в этой версии этой спецификации равны (поскольку они начинаются в один и тот же момент на временной шкале), но не идентичны (поскольку они имеют и сохраняют разные смещения часовых поясов). Эта ситуация возникнет для дат только в том случае, если у них смещение часового пояса далеко от нуля и, следовательно, в 1. 0 его «восстанавливаемое смещение часового пояса» отличалось от смещения часового пояса, которое сохраняется в используемом в этой версии этой спецификации 3. 3. 9. 2 Лексическое отображениеЛексические представления для являются «проекциями» тех из , как показано ниже. Лексическое пространство [18] dateLexicalRep . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' ? . Представления дня месяца Ограничение. Представления дня месяца Внутри a не должно начинаться с цифры ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>68' или быть ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>69', если только значение, которому оно будет сопоставлено, не . Значения дня месяца"), приведенные выше. Продукция эквивалентна этому регулярному выражению Обратите внимание, что ни производство, ни это регулярное выражение сами по себе не налагают ограничение на указанное выше<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>19 для. Это 3. 3. 9. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 10 гГодМесяцgYearMonth представляет определенные полные месяцы по григорианскому календарю в определенные годы по григорианскому календарю. Запись. Поскольку комбинации месяц/год в одном календаре редко соответствуют комбинациям месяц/год в других календарях, значения этого типа, как правило, не могут быть преобразованы в простые значения, соответствующие комбинациям месяц/год в других календарях. Поэтому этот тип следует использовать с осторожностью в тех случаях, когда желательно преобразование в другие календари. 3. 3. 10. 1 место для значенийиспользует , с , , и должен отсутствовать. останки Запись. См. примечание о соответствии, в котором применяется значение этого типа данных. Равенство и порядок прописаны в 3. 3. 10. 2 Лексическое отображениеЛексические представления для являются «проекциями» тех из , как показано ниже. Лексическое пространство [19] gYearMonthLexicalRep . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' ?Эквивалентно этому регулярному выражению <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>21 для. Это 3. 3. 10. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 11 гГодgYear представляет годы по григорианскому календарю. Запись. Поскольку годы в одном календаре редко соответствуют годам в других календарях, значения этого типа, как правило, не могут быть преобразованы в простые значения, соответствующие годам в других календарях. Поэтому этот тип следует использовать с осторожностью в тех случаях, когда желательно преобразование в другие календари. 3. 3. 11. 1 место для значенийиспользует , с , , , , и должен отсутствовать. останки Запись. См. примечание о соответствии, в котором применяется значение этого типа данных. Равенство и порядок прописаны в 3. 3. 11. 2 Лексическое отображениеЛексические представления для являются «проекциями» тех из , как показано ниже. Лексическое пространство [20] gYearLexicalRep . = ? Эквивалентно этому регулярному выражению<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>22 для. Это 3. 3. 11. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 12 гМесяцДеньпредставляет целые календарные дни, которые повторяются в один и тот же момент в каждом календарном году или происходят в каком-то произвольном календарном году. (Очевидно, что дни после 28 не могут встречаться во всех февраля; тем не менее, 29 разрешено. ) Этот тип данных можно использовать, например, для записи дней рождения; Запись. Поскольку комбинации дня/месяца в одном календаре редко соответствуют комбинациям дня/месяца в других календарях, значения этого типа, как правило, не имеют прямого или интуитивно понятного представления с точки зрения большинства других календарей. Поэтому этот тип следует использовать с осторожностью в тех случаях, когда желательно преобразование в другие календари. 3. 3. 12. 1 место для значенийиспользует , с , , и должен отсутствовать. останки Ограничение. Значения дня месяца Значение должно быть не более 30, если оно является одним из 4, 6, 9 или 11, и не более 29, если . Равенство и порядок прописаны в Запись. В версии 1. 0 этой спецификации значения не сохраняли смещение часового пояса явно, но для смещений часовых поясов, не слишком далеких от их смещения часового пояса, можно было восстановить на основе первого момента их значения на временной шкале. Сохраняет все смещения часовых поясов Пример, показывающий отличие от версии 1. 0 (см. обозначения)
3. 3. 12. 2 Лексическое отображениеЛексические представления для являются «проекциями» тех из , как показано ниже. Лексическое пространство [21] gMonthDayLexicalRep . = ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>23' ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>52' ? . Представления дня месяца Ограничение. Представления дня месяца Внутри a не должно начинаться с цифры ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>68' или быть ' <memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>69', если только значение, которому оно будет сопоставлено, не . Значения дня месяца"), приведенные выше. Эквивалентно этому регулярному выражению Обратите внимание, что ни производство, ни это регулярное выражение сами по себе не налагают ограничение на указанное выше<memo importance='high' date='1999-03-23'> <from>Paul V. Biron</from> <to>Ashok Malhotra</to> <subject>Latest draft</subject> <body> We need to discuss the latest draft <emph>immediately</emph>. Either email me at <email> mailto:[email protected]</email> or call <phone>555-9876</phone> </body> </memo>27 для. Это 3. 3. 12. 3 аспектаТип данных и все типы данных, производные от него через ограничение, имеют следующие характеристики. с фиксированными значениями; . must not be altered from the values displayed:
Тип данных включает следующие функции. с отображаемыми значениями; . may be specified in the development of new types if the value provided is at least as restrictive as the one shown:
Типы данных, производные от могут дополнительно указывать значения для следующих. Тип данных включает в себя следующие функции. ценности для своего
3. 3. 13 гДень[Определение. ] gDay представляет целые дни в произвольном месяце — дни, которые повторяются в одну и ту же точку в каждом (григорианском) месяце. Этот тип данных используется для представления определенного дня месяца. Например, чтобы указать, что сотрудник получает зарплату 15 числа каждого месяца. (Очевидно, что дни после 28 не могут быть во все месяцы, тем не менее они разрешены, до 31. ) Запись. Поскольку дни в одном календаре редко соответствуют дням в других календарях, значения, как правило, не имеют прямого или интуитивного представления в терминах большинства негригорианских календарей. поэтому его следует использовать с осторожностью в контекстах, где желательно преобразование в другие календари. 3. 3. 13. 1 место для значенийиспользует , с , , , , и должен отсутствовать. остается и должен быть от 1 до 31 включительно. Равенство и порядок прописаны в. Поскольку значения (дни) упорядочены по их первым моментам, кажущиеся аномалии могут появляться в том порядке, в котором значения отличаются не менее чем на 24 часа. (Значения могут отличаться на срок до 28 часов. ) Примеры, которые могут показаться аномальными (см. обозначения)
|