(Простой) Изменить коллекцию схем xml на сервере sql, чтобы изменить атрибут элемента

У меня есть следующая схема xml с именем XsdContacts (на самом деле довольно просто)

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="contact">
<xs:complexType>
<xs:sequence>
<xs:element name="name" type="xs:string" nillable="true" />
<xs:element name="position" type="xs:string" nillable="true" />
<xs:element name="phone1" nillable="true">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedInt">
<xs:attribute name="idtipo" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="phone2" nillable="true">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedInt">
<xs:attribute name="idtipo" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="email" type="xs:string" nillable="true" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>

И я хочу изменить строки 12 и 21, я хочу добавить к этому атрибуту значение по умолчанию. Дело в том, что я пытался сделать это с помощью коллекции схем alter xml, но это не сработает.


person franko_camron    schedule 14.07.2011    source источник


Ответы (1)


Взгляните на главу 14 в Искусство XSD Коллекции схем SQL Server. Вы думаете, что вам нужно удалить коллекцию схем и воссоздать ее снова, и прежде чем вы это сделаете, вам нужно удалить все привязки к схеме.

person Mikael Eriksson    schedule 14.07.2011
comment
Да, я так и делаю, но это головная боль, я думал, что есть простой способ использовать оператор alter, что ж, спасибо! - person franko_camron; 15.07.2011