powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Валидация содержимого (HTML разметки) элемента с помощью XML Schema
16 сообщений из 41, страница 2 из 2
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767167
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

сорри, конечно, но я не полный идиот) см. скриншот.
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767169
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

см. вложенный скриншот
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767181
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RND,

Мне больше Вам помочь нечем. Если Вы не понимаете разницу между xsd:include и xsd:import и не в состоянии прочитать документацию, то Вам остается только найти того кто это сможет сделать
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767185
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Я прекрасно ее понимаю. Дело в другом, видимо, Вы меня не поняли(
Когда я пишу xsd:include и(или) xsd:import в одной из схем, мой редактор oXygen выдет ошибку о том, что не может найти по указанному URI схему.

Для " <xs:import namespace=" http://www.w3.org/" schemaLocation="w3.xsd" />"

System ID: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturerSchema.xsd
Main validation file: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturer.xml
Schema: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturerSchema.xsd
Engine name: Xerces
Severity: warning
Description: schema_reference.4: Failed to read schema document 'w3.xsd', because 1) could not find the document; 2) the document could not be read; 3) the root element of the document is not <xsd:schema>.
Start location: 4:73
URL: http://www.w3.org/TR/xmlschema-1/#schema_reference

Для "<xs:include schemaLocation=" http://www.w3.org/1999/xhtml"></xs:include>" выдает тоже самое...

Вопрос уже в другом, где взять эту стандартную схему (их нужно явно скачивать?), ПОЧЕМУ РЕДАКТОР НЕ НАХОДИТ СХЕМЫ ПО ЗАДАННЫМ URI???
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767221
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RNDПОЧЕМУ РЕДАКТОР НЕ НАХОДИТ СХЕМЫ ПО ЗАДАННЫМ URI???А она там есть?

Тынц
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767245
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Указал верный путь, сорри, тупняк словил(

Все равно не пойму, как заставить проверяться поле "ManufacturerFullDescription" без
<body xmlns=" http://www.w3.org/1999/xhtml">
....

</body>

просит либо каждому элементу прописывать пространство имен или окружать <body>, а хочется, чтобы было валидным следующее:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
         <div>
            <h1>ООО «ЗАЛУПКИН»</h1>
            <div>Советская, д. 17
                121000, Москва <a href=""></a>
                <ope>этот тег неизвестный для схемы http://www.w3.org/1999/xhtml</ope> - здесь парсер может ругнуться, если стоит параметр strict.
                Россия
            </div>
        </div> 



Не пойму, как сделать так, чтобы все содержимое по-умолчанию было в нужном пространстве имен.

P.S. В вашем коде (примере), как выяснилось, ничего не понял:

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
<xsd:schema targetNameSpace="http://www.w3.org/">

  <xsd:element name="html"/>

</xsd:schema>

<xsd:schema targetNameSpace="my:uri"
  xmlns:w3="http://www.w3.org/">

  <xsd:import namespace="http://www.w3.org/" schemaLocation="w3.xsd" />
  <xsd:element name="root">
    ..................
      <xsd:element ref="w3:html"/>
    .............
  </xsd:element>

</xsd:schema>



Сейчас схема выглядит так:

Код: 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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" xml:lang="ru" version="1.0">
    <!-- <xs:include schemaLocation="http://www.w3.org/1999/xhtml"></xs:include> -->
    <xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" />
    <xs:annotation><xs:documentation>Схема определяет тип документа "Производитель/вендор".</xs:documentation></xs:annotation>
    <xs:element name="Manufacturer">
        <xs:annotation>
            <xs:documentation>Описывает тип документа "Производитель/вендор".</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ManufacturerName">
                    <xs:annotation>
                        <xs:documentation>Полное название производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:normalizedString"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerLogotype" minOccurs="1" type="xs:anyURI">
                    <xs:annotation>
                        <xs:documentation>Логотип производителя/вендора. Ссылка на логотип.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ManufacturerSite" default="" type="xs:anyURI">
                    <xs:annotation>
                        <xs:documentation>Веб-сайт производителя/вендора. Ссылка на веб-сайт.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ManufacturerPhone">
                    <xs:annotation>
                        <xs:documentation>Телефон производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:string"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerEmail">
                    <xs:annotation>
                        <xs:documentation>E-mail адрес производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:string"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerShortDescription">
                    <xs:annotation>
                        <xs:documentation>Краткое описание производителя/вендора в формате HTML.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType mixed="true">
                        <xs:complexContent>
                            <xs:extension base="xs:anyType"/>
                        </xs:complexContent>
                    </xs:complexType>
                </xs:element>
                <xs:element name="ManufacturerFullDescription">                    
                    <xs:annotation>
                        <xs:documentation>Полное описание производителя/вендора в формате HTML.</xs:documentation>
                    </xs:annotation>                    
                    <xs:complexType>                        
                        <xs:sequence>                            
                            <xs:any namespace="http://www.w3.org/1999/xhtml" processContents="strict" minOccurs="1" maxOccurs="unbounded"></xs:any>                            
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767883
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RNDВсе равно не пойму, как заставить проверяться поле "ManufacturerFullDescription" без
<body xmlns=" http://www.w3.org/1999/xhtml">
....

</body>Все элементы у, которых, явно не указано пространство имен имеют пространство имен родительского элемента. Соответственно Вам нужно указать для одного корневого элемента нужное пространство имен
Santa_RND
Код: xml
1.
<xs:any namespace="http://www.w3.org/1999/xhtml" processContents="strict" minOccurs="1" maxOccurs="unbounded"></xs:any>                            

Это не нужно. нужно, что-то типа такого
Код: xml
1.
<xsd:element ref="html:div"/>
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37767949
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Уже пробовал, но парсер ругается(

Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
                <xs:element name="ManufacturerFullDescription">                    
                    <xs:annotation>
                        <xs:documentation>Полное описание производителя/вендора в формате HTML.</xs:documentation>
                    </xs:annotation>                    
                    <xs:complexType>                           
                        <xs:sequence>
                            <xs:element ref="html:div"/>                                                                                   
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>



Ошибка:

System ID: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturerSchema.xsd
Main validation file: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturer.xml
Schema: D:\MyProjects\ExchangeFormatForSoftwareVendors\manufacturerSchema.xsd
Engine name: Xerces
Severity: error
Description: s4s-att-invalid-value: Invalid attribute value for 'ref' in element 'element'. Recorded reason: UndeclaredPrefix: Cannot resolve 'html:div' as a QName: the prefix 'html' is not declared.
Start location: 62:57


Ругается на префикс, смотрел схему, там нет просто "html" префикса.
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768074
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RNDРугается на префикс, смотрел схему, там нет просто "html" префикса.Так в своей схеме его определите
Код: xml
1.
2.
3.
4.
<xs:schema
  xmlns:xs="http://www.w3.org/2001/XMLSchema"
  xmlns:html=""http://www.w3.org/1999/xhtml"
  elementFormDefault="qualified" xml:lang="ru" version="1.0">



P.S. Может хватит издеваться и пришло время прочитать документацию?
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768083
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Совсем не издеваюсь, правда! Документацию перечитываю, пробую, но возникают вопросы, СПАСИБО ВАМ БОЛЬШОЕ!
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768214
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RND,

Я вот только сейчас подумал, может это не возможно написать схему таким образом, чтобы root (по отношению к содержимому заданного element) был без уточнения пространства имен "xmlns=" http://www.w3.org/1999/xhtml".


Схема:
Код: 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.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:html="http://www.w3.org/1999/xhtml" elementFormDefault="qualified" xml:lang="ru" version="1.0">
    <!-- <xs:include schemaLocation="http://www.w3.org/1999/xhtml"></xs:include> -->
    <xs:import namespace="http://www.w3.org/1999/xhtml" schemaLocation="http://www.w3.org/2002/08/xhtml/xhtml1-strict.xsd" />
    <xs:annotation><xs:documentation>Схема определяет тип документа "Производитель/вендор".</xs:documentation></xs:annotation>
    <xs:element name="Manufacturer">
        <xs:annotation>
            <xs:documentation>Описывает тип документа "Производитель/вендор".</xs:documentation>
        </xs:annotation>
        <xs:complexType>
            <xs:sequence>
                <xs:element name="ManufacturerName">
                    <xs:annotation>
                        <xs:documentation>Полное название производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:normalizedString"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerLogotype" minOccurs="1" type="xs:anyURI">
                    <xs:annotation>
                        <xs:documentation>Логотип производителя/вендора. Ссылка на логотип.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ManufacturerSite" default="" type="xs:anyURI">
                    <xs:annotation>
                        <xs:documentation>Веб-сайт производителя/вендора. Ссылка на веб-сайт.</xs:documentation>
                    </xs:annotation>
                </xs:element>
                <xs:element name="ManufacturerPhone">
                    <xs:annotation>
                        <xs:documentation>Телефон производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:string"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerEmail">
                    <xs:annotation>
                        <xs:documentation>E-mail адрес производителя/вендора.</xs:documentation>
                    </xs:annotation>
                    <xs:simpleType>
                        <xs:restriction base="xs:string"/>
                    </xs:simpleType>
                </xs:element>
                <xs:element name="ManufacturerShortDescription">
                    <xs:annotation>
                        <xs:documentation>Краткое описание производителя/вендора в формате HTML.</xs:documentation>
                    </xs:annotation>
                    <xs:complexType>                                                  
                        <xs:sequence>
                            <xs:element ref="html:div"></xs:element>                                                        
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
                <xs:element name="ManufacturerFullDescription">                    
                    <xs:annotation>
                        <xs:documentation>Полное описание производителя/вендора в формате HTML.</xs:documentation>
                    </xs:annotation>                    
                    <xs:complexType>                                                  
                        <xs:sequence>
                            <xs:element ref="html:div"></xs:element>                                                        
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>



Файл-пример:
Код: 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.
<?xml version="1.0" encoding="UTF-8"?>
<Manufacturer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" 
 xsi:noNamespaceSchemaLocation="file:/D:/MyProjects/ExchangeFormatForSoftwareVendors/ManufacturerSchema.xsd">
    <ManufacturerName>
        Microsoft
    </ManufacturerName>
    <ManufacturerLogotype>
        http://www.microsoft.com/
    </ManufacturerLogotype>
    <ManufacturerSite>
        http://www.microsoft.com
    </ManufacturerSite>
    <ManufacturerPhone>
        +7(495)765-71-71
    </ManufacturerPhone>
    <ManufacturerEmail>
        info@microsoft.ru
    </ManufacturerEmail>
    <ManufacturerShortDescription>
        <div xmlns="http://www.w3.org/1999/xhtml">     
        <h1>ООО «Майкрософт Рус»</h1>
        Крылатская улица, д. 17
        121614, Москва text
        Россия        
        </div>
    </ManufacturerShortDescription>
    <ManufacturerFullDescription>           
       <div xmlns="http://www.w3.org/1999/xhtml">        
            <h1>ООО «ЗАЛУПКИН»</h1>
            <div>Советская, д. 17
                121000, Москва <em>eeeeemaaa</em> <a href=""></a>
                этот тег неизвестный для схемы http://www.w3.org/1999/xhtml
                Россия
            </div>
       </div>     
    </ManufacturerFullDescription>
</Manufacturer>



В любом случае первый вложенный элемент в ManufacturerShortDescription должен содержать
< ELEMENT NAME xmlns=" http://www.w3.org/1999/xhtml"> ((((((((((((((

В моем случае ELEMENT NAME - div
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768331
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы читаете, что Вам пишут?_Vasilisk_Все элементы у, которых, явно не указано пространство имен имеют пространство имен родительского элемента.
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768342
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,



Да, я знаю об этом! Я спрашивал о том, как переопределить (включить в пространство имен по-умолчанию) все теги HTML из стандартной схемы. Может, Вы меня не поняли?
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768359
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RNDкак переопределить (включить в пространство имен по-умолчанию) все теги HTML из стандартной схемыЭто очевидно - изменить стандартную схему
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768368
Фотография Santa_RND
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
_Vasilisk_,

Оставьте свою ICQ или скайп, есть предложение...
...
Рейтинг: 0 / 0
Валидация содержимого (HTML разметки) элемента с помощью XML Schema
    #37768518
Фотография _Vasilisk_
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Santa_RND,

146432973
...
Рейтинг: 0 / 0
16 сообщений из 41, страница 2 из 2
Форумы / XML, XSL, XPath, XQuery [игнор отключен] [закрыт для гостей] / Валидация содержимого (HTML разметки) элемента с помощью XML Schema
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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