Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > XML, XSL > XML vs XSD


Автор: Ray888 28.4.2012, 10:09
Здравствуйте, начала изучать XML и сразу столкнулась с проблемой пространства имён, не до конца понимаю, как поправить, поэтому нуждаюсь в совете и скорее всего жёсткой критике моей xsd

Архивчик прилагается

Автор: diadiavova 28.4.2012, 10:28
Цитата(Ray888 @  28.4.2012,  11:09 Найти цитируемый пост)
не до конца понимаю, как поправить

Что поправить? smile Проблему вообще-то сформулировать не мешало бы smile 

Автор: Ray888 28.4.2012, 10:31
netbeans пишет следующее:

Проверка XML запущена.

Проверка file:/home/tanya/NetBeansProjects/XMLParser/src/by/epam/parserxml/resource/XMLTest.xml...
Ссылка на сущность в "file:/home/tanya/NetBeansProjects/XMLParser/src/by/epam/parserxml/resource/XSDTest.xsd".
src-resolve.4.2: Error resolving component 'Tutor'. It was detected that 'Tutor' is in namespace 'http://www.w3.org/2001/XMLSchema', but components from this namespace are not referenceable from schema document 'file:/home/tanya/NetBeansProjects/XMLParser/src/by/epam/parserxml/resource/XSDTest.xsd'. If this is the incorrect namespace, perhaps the prefix of 'Tutor' needs to be changed. If this is the correct namespace, then an appropriate 'import' tag should be added to 'file:/home/tanya/NetBeansProjects/XMLParser/src/by/epam/parserxml/resource/XSDTest.xsd'. [17] 
src-resolve: Cannot resolve the name 'Tutor' to a(n) 'type definition' component. [17] 
Проверка XML завершена.

Добавлено через 4 минуты и 16 секунд
В частности ругается на эту строку

<complexType name="Test">
        <sequence>
            <element name="name" type="string" />
            <element name="subject" type="string" />
            <element name="tutor" type="Tutor" />
        </sequence>
        <attribute name="id" type="integer" use="required"/>
    </complexType>

Автор: diadiavova 28.4.2012, 10:38
Ray888, ну ты ведь эти все типы объявляешь в целевом пространстве имен, стало быть при ссылке на них надо указывать его. Вот так
Код

<?xml version="1.0" encoding="UTF-8"?>
<schema xmlns="http://www.w3.org/2001/XMLSchema" 
        targetNamespace="http://www.example.com/tests"
        xmlns:testing="http://www.example.com/tests">
    <element name="tests">
        <complexType>
            <sequence>
                <element name="test" type="testing:Test" minOccurs="1" 
                         maxOccurs="unbounded" />
            </sequence>
        </complexType>
    </element>
    <complexType name="Test">
        <sequence>
            <element name="name" type="string" />
            <element name="subject" type="string" />
            <element name="tutor" type="testing:Tutor" />
        </sequence>
        <attribute name="id" type="integer" use="required"/>
    </complexType>
    <complexType name="Tutor">
        <sequence>
            <element name="fio" type="string" />  
            <element name="postion" type="testing:Position"/> 
            <element name="age" type="testing:age"/>
        </sequence>
    </complexType>
    <simpleType name="Position">
        <restriction base="string">
            <enumeration value="Доктор"></enumeration>
            <enumeration value="Профессор"></enumeration>
            <enumeration value="Старший преподаватель"></enumeration>
        </restriction>
    </simpleType>  
    <simpleType name="age">
        <restriction base="int">
            <minExclusive value="0"></minExclusive>
            <maxInclusive value="100"></maxInclusive>
            <pattern value="\d+"></pattern>
        </restriction>
    </simpleType>
</schema>

А с типом age ты еще и в регистре ошиблась

Автор: Ray888 28.4.2012, 10:50
я пыталась добавлять пространство для Tutor, но в age  и Position как-то не дошла

 спасибо поправила age на experience, вроде всё заработало

хочу ещё спросить про шаблоны, что это такое и с чем это едят, и есть ли шанс это в конкретно эту тему прикрутить

если можно, то какие-нибудь ссылочки 

Автор: diadiavova 28.4.2012, 11:11
Цитата(Ray888 @  28.4.2012,  11:50 Найти цитируемый пост)
хочу ещё спросить про шаблоны, что это такое и с чем это едят

Не знаю о чем речь, скорей всего об XSLT. Погугли.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)