2017-01-26 24 views
1

В чем разница между незакрепленным элементом, например .:разницы/сходство между хзом: anyType и непринужденным хзом: элемент

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/import" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="a"></xs:element> 
</xs:schema> 

и элемент с типом xs:anyType, например .:

<?xml version="1.0" encoding="utf-8"?> 
<xs:schema elementFormDefault="qualified" targetNamespace="http://tempuri.org/" xmlns:tns="http://tempuri.org/import" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:element name="b" type="xs:anyType"></xs:element> 
</xs:schema> 

?

Оба допускают любой контент и не создают ограничений. Есть ли разница? Я рассмотрел соответствующие спецификации, но они не уточнили мое замешательство в отношении различий по сравнению с ними (если они есть).

ответ

2

Нет никакой разницы.

По умолчанию для xs:element/@type является ur-type, иначе известный как anyType.

См3.3.2 XML Representation of Element Declaration Schema Components:

{type definition}: Определение типа, соответствующий пункту информации о <simpleType> или <complexType> элемента в [children], если либо присутствует, в противном случае type определения ·resolved·, чтобы с помощью ·actual value· типа [attribute], в противном случае {type definition} декларации элемента ·resolved· от ·actual value· от substitutionGroup[attribute], если присутствует, в противном случае ·ur-type definition·.

Смотрите также2.2.1.1 Type Definition Hierarchy:

[Определение:] Отличительное сложное определение типа, Ур-типа определение, название которого anyType в пространстве имен XML-схемы, является присутствует в каждом ·XML Schema·, служащем в качестве корня типа иерархией определения для этой схемы.

Связанный:XML Schema: what's the default type of an xsd:attribute?