Гость
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Найти и исправить ошибки в XSD / 7 сообщений из 7, страница 1 из 1
23.08.2015, 22:17
    #39034647
nygger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
Задание препод выслал отсюда http://forum.onliner.by/viewtopic.php?t=1624846 , найти и исправить ошибки в XSD схеме.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace=" http://tempuri.org/XMLSchema.xsd"
elementFormDefault="qualified"
xmlns=" http://tempuri.org/XMLSchema.xsd"
xmlns:mstns=" http://tempuri.org/XMLSchema.xsd"
xmlns:xs=" http://www.w3.org/2001/XMLSchema">
<xs:complexType name="officeType" minOccurs="0" maxOccurs="unbounded">
<xs:sequence name="officeTypeSequence">
<xs:element name="worker" type="plankton">
<xs:complexType>
<xs:all minOccurs="1" maxOccurs="1">
<xs:element name="firstname" type="xs:string" ref="nameElement"/>
<xs:element name="lastname" ref="lastname" />
<xs:element name="workerID">
<xs:complexType>
<xs:simpleContent name="workingYear">
<xs:extension base="xs:positiveInteger">
<xs:attribute name="first working year" type="xs:gYear" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:all>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
<xs:element name="nameElement" type="xs:string">
<xs:simpleType name="nameElementType">
<xs:restriction base="xs:string">
<xs:lengthMax value="50" />
<xs:lengthMin value="0" />
</xs:restriction>
</xs:simpleType>
</xs:element>
<xs:element name="lastname" type="nameElementType"/>

<!--Global complex element-->
<xs:element name="officeList">
<xs:complexType base="officeType">
<xs:sequence maxOccurs="unbounded">
<xs:element name="office" type="officeType"/>
</xs:sequence>
<xs:anyAttribute/>
</xs:complexType>
</xs:element>
</xs:schema>
Да только что-то валидатор не выдаёт ошибок. Кто-то может помочь разобрвться есть тут ошибки или нет?
...
Рейтинг: 0 / 0
23.08.2015, 22:34
    #39034652
nygger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
Сори за первую простыню, не увидел в редакторе src
Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd"
                  xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:complexType name="officeType" minOccurs="0" maxOccurs="unbounded">
        <xs:sequence name="officeTypeSequence">
            <xs:element name="worker" type="plankton">
                <xs:complexType>
                    <xs:all minOccurs="1" maxOccurs="1">
                        <xs:element name="firstname" type="xs:string" ref="nameElement"/>
                        <xs:element name="lastname" ref="lastname" />
                        <xs:element name="workerID">
                            <xs:complexType>
                                <xs:simpleContent name="workingYear">
                                    <xs:extension base="xs:positiveInteger">
                                        <xs:attribute name="first working year" type="xs:gYear" />
                                    </xs:extension>
                                </xs:simpleContent>
                            </xs:complexType>
                        </xs:element>
                    </xs:all>
                </xs:complexType>
            </xs:element>
        </xs:sequence>
    </xs:complexType>
    <xs:element name="nameElement" type="xs:string">
        <xs:simpleType name="nameElementType">
            <xs:restriction base="xs:string">
                <xs:lengthMax value="50" />
                <xs:lengthMin value="0" />
            </xs:restriction>
        </xs:simpleType>
    </xs:element>
    <xs:element name="lastname" type="nameElementType"/>

    <!--Global complex element-->
    <xs:element name="officeList">
        <xs:complexType base="officeType">
            <xs:sequence maxOccurs="unbounded">
                <xs:element name="office" type="officeType"/>
            </xs:sequence>
            <xs:anyAttribute/>
        </xs:complexType>
    </xs:element>
</xs:schema>
...
Рейтинг: 0 / 0
24.08.2015, 10:02
    #39034729
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
Да тут прорва ошибок.
...
Рейтинг: 0 / 0
24.08.2015, 13:28
    #39034914
nygger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
Код: 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.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
53.
54.
55.
<?xml version="1.0" encoding="utf-8" ?>
<xs:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:mstns="http://tempuri.org/XMLSchema.xsd" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:complexType name="officeType" >
    <!--minOccurs="0" maxOccurs="unbounded" - закоменченные неподдерживаемые атрибуты -->
    <xs:sequence>
      <!--name="officeTypeSequence"-->
      <xs:element name="worker">
        <!--type="plankton"-->
        <xs:complexType>
          <xs:all minOccurs="1" maxOccurs="1">
            <xs:element name="firstname" type="xs:string" />
            <!--ref="nameElement"/-->
            <xs:element name="lastname"></xs:element>
            <!--ref="lastname" /-->
            <xs:element name="workerID">
              <xs:complexType>
                <xs:simpleContent>
                  <!--name="workingYear"-->
                  <xs:extension base="xs:positiveInteger">
                    <xs:attribute name="year" type="xs:gYear" />
                  </xs:extension>
                </xs:simpleContent>
              </xs:complexType>
            </xs:element>
          </xs:all>
        </xs:complexType>
      </xs:element>
    </xs:sequence>
  </xs:complexType>
  <xs:element name="nameElement">
    <!--type="xs:string"-->
    <xs:simpleType>
      <!--name="nameElementType"-->
    <xs:restriction base="xs:string">
      <xs:maxLength value="50" />
      <xs:minLength value="0" />
      <!--lengthMin заменён на minLenth-->
     
      <!--lengthMax заменён на maxLength и поменян местами с minLenth -->
    </xs:restriction>
    </xs:simpleType>
  </xs:element>
  <xs:element name="lastname" type="xs:string"/>

  <!--Global complex element-->
  <xs:element name="officeList">
    <xs:complexType>
      <!--name="officeType"-->
      <xs:sequence maxOccurs="unbounded">
        <xs:element name="office" type="officeType"/>
      </xs:sequence>
      <xs:anyAttribute/>
    </xs:complexType>
  </xs:element>
</xs:schema>

Мда ошибок действительно не мало, это я на глаз валидировал. Исправил.
Сталкнулся с такой интересной особенностью в notepad++ не выдаёт варнинга на наличие ref="nameElement" рядом с name и последующем перечислении остальных атрибутов. Валидировал по схеме http://www.w3.org/2001/XMLSchema.xsd. Скрин успешности прилогаю.
...
Рейтинг: 0 / 0
24.08.2015, 13:30
    #39034918
nygger
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
И те же самые условия не прокатывают в visual studio 2013. Я интуитивно предполагаю что студия права, однако пояснить причину ненахождения этой оплошности в xml плагине npp не могу.
...
Рейтинг: 0 / 0
24.08.2015, 14:18
    #39034968
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
nygger Сталкнулся с такой интересной особенностью в notepad++ не выдаёт варнинга на наличие ref="nameElement" рядом с name и последующем перечислении остальных атрибутов. Валидировал по схеме http://www.w3.org/2001/XMLSchema.xsd. Потому что это правило нельзя описать в xsd в принципе. Нет в нем инструкций для взаимоисключающих атрибутов.
...
Рейтинг: 0 / 0
24.08.2015, 14:20
    #39034970
Antonariy
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Найти и исправить ошибки в XSD
nygger И те же самые условия не прокатывают в visual studio 2013. Я интуитивно предполагаю что студия права, однако пояснить причину ненахождения этой оплошности в xml плагине npp не могу. Студия валидирует xsd собственными силами, а не схемой.
...
Рейтинг: 0 / 0
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Найти и исправить ошибки в XSD / 7 сообщений из 7, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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