Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Тип String в XSD-файле  [new]
Igrok4
Member

Откуда:
Сообщений: 288
Загружаю XML в таблицу. В XSD для поля Message тип string, но само поле в XML-файле может быть длиной до 1000 символов. При загрузке DataFlow ругается и позволяет обрабатывать xml-файлы только с полями длиной не более 255 знаков. Как это можно обойти?
5 июн 09, 20:20    [7271730]     Ответить | Цитировать Сообщить модератору
 Re: Тип String в XSD-файле  [new]
Savl Khafiz
Member

Откуда: Beirut
Сообщений: 165
В XSD-файле для поля Message задать MaxLength value="1000"

например:
<xs:element minOccurs="0" maxOccurs="unbounded" name="Message">
<xs:simpleType>
<xs:restriction base="xs:string">
<xs:maxLength value="1000"></xs:maxLength>
</xs:restriction>
</xs:simpleType>
</xs:element>
5 июн 09, 21:53    [7271875]     Ответить | Цитировать Сообщить модератору
 Re: Тип String в XSD-файле  [new]
Igrok4
Member

Откуда:
Сообщений: 288
Ну в данном случае Message, является элементом. А мне бы надо чтобы оно было атрибутом:
<?xml version="1.0"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="ComputerInfo">
    <xs:complexType>
      <xs:sequence>
        <xs:element minOccurs="0" name="t_StatEvents">
          <xs:complexType>
            <xs:sequence>
              <xs:element minOccurs="0" maxOccurs="unbounded" name="Element">
                <xs:complexType>
                  <xs:attribute name="ComputerName" type="xs:string" use="optional" />
                  <xs:attribute name="EventCode" type="xs:unsignedShort" use="optional" />
                  <xs:attribute name="EventType" type="xs:unsignedByte" use="optional" />
                  <xs:attribute name="Logfile" type="xs:string" use="optional" />
                  <xs:attribute name="Message" type="xs:string" use="optional" />
                  <xs:attribute name="SourceName" type="xs:string" use="optional" />
                  <xs:attribute name="TimeGenerated" type="xs:dateTime" use="optional" />
                  <xs:attribute name="User" type="xs:string" use="optional" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
А чтобы сделать Message элементом, надо переписывать конвертер, чего бы очень не хотелось.
8 июн 09, 09:36    [7275092]     Ответить | Цитировать Сообщить модератору
 Re: Тип String в XSD-файле  [new]
Mnior
Member

Откуда: Кишинёв
Сообщений: 6723
Изучайте XSD:
<xs:simpleType name="MyString">
  <xs:restriction base="xs:string">
    <xs:length value="1000"/>
  </xs:restriction>
</xs:simpleType>
<xs:attribute name="Message" type="MyString"/>
Или:
<xs:attribute name="Message"/>
  <xs:simpleType>
    <xs:restriction base="xs:string">
      <xs:length value="1000"/>
    </xs:restriction>
  </xs:simpleType>
</xs:attribute>
9 июн 09, 00:01    [7278745]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить