Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD для проверки XML / 4 сообщений из 4, страница 1 из 1
06.04.2016, 18:49
    #39209610
abyssmail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD для проверки XML
Добрый день.

Есть в наличии такой вот xml.

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
<?xml version="1.0" encoding="UTF-8"?>
<A>
<B C="1234">d</B> 
<B C="4211">b</B> 
<B C="0312">b</B> 
<B C="1543">d</B> 
<B C="2345">b</B> 
<D C="1233">d</D> 
<D C="4321">b</D> 
</A>



Необходимо составить жесткую XML Shema (XSD)
для проверки этого XML (с вынесением описания элементов в тип) :
- атрибут "C" должен обязательно присутствовать в каждой строке и должен содержать 4 символа.
- текст в элементе всегда состоит из одной латинской буквы.

В общем, никак не могу разобраться.
хотя XSD такая вещь, что с наскоку и не получится, но тем не менее.
Я сгенерировал по этому XML - XSD , подумал легче будет разобраться - чтобы на основе его собрать
что нужно. Но по-моему это неправильный подход.

Подсобите плз.
...
Рейтинг: 0 / 0
06.04.2016, 19:19
    #39209628
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD для проверки XML
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
  <xs:element name="A">
    <xs:complexType>
      <xs:sequence>
        <xs:any minOccurs="0" maxOccurs="unbounded" namespace="##targetNamespace"/>
      </xs:sequence>
    </xs:complexType>
  </xs:element>

  <xs:element name="B" type="cccc"/>
  <xs:element name="D" type="cccc"/>
  

<!-- текст в элементе всегда состоит из одной латинской буквы. -->
  <xs:simpleType name="l1">
    <xs:restriction base="xs:string">
      <xs:pattern value="[a-z]"/>
    </xs:restriction>
  </xs:simpleType>

<!-- - атрибут "C" должен обязательно присутствовать в каждой строке и должен содержать 4 символа. -->
  <xs:complexType name="cccc">
    <xs:simpleContent>
      <xs:extension base="l1">
        <xs:attribute name="C" use="required">
          <xs:simpleType>
            <xs:restriction base="xs:string">
              <xs:length value="4"/>
            </xs:restriction>
          </xs:simpleType>
        </xs:attribute>
      </xs:extension>
    </xs:simpleContent>
  </xs:complexType>
...
Рейтинг: 0 / 0
06.04.2016, 19:48
    #39209651
abyssmail
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD для проверки XML
Antonariy,

спасибо за ответ.
А где можно проверить на соответствие? (вернее где вы его писали)
Т.е я на сайте онлайн прогнал на соответствие XML.
Но сайт "поруглся" на пару строчек.
...
Рейтинг: 0 / 0
06.04.2016, 23:53
    #39209722
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
XSD для проверки XML
в студии писал, в ней же и проверял.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / XSD для проверки XML / 4 сообщений из 4, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]