cvc-complex-type.2.4.a: Обнаружено недопустимое содержимое, начиная с элемента 'c: info'. Ожидается один из {{* http://piwowarzy.pl/projekt":info}' - PullRequest
0 голосов
/ 30 октября 2018

Это мой первый пост здесь. Я пытаюсь проверить мою схему, но у меня есть следующая проблема в моем XML-файле:

cvc-complex-type.2.4.a: Обнаружено недопустимое содержимое, начиная с элемента 'c: info'. Ожидается один из {{* http://piwowarzy.pl/projekt":info}'. [12]

Мне пришлось создать файл схемы (не один файл) для этого piwowarzy.xml. Извините за мой английский и плохое разделение, но NetBeans и Notepad ++ просто сломали его. А вот примеры кода моих файлов:

piwowarzy.xml

<p:projekt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://piwowarzy.pl/projekt main.xsd"
           xmlns:p="http://piwowarzy.pl/projekt"
           xmlns:o="http://piwowarzy.pl/alko"
           xmlns:c="http://piwowarzy.pl/info"
           xmlns:cmn="http://piwowarzy.pl/tytul">
    <?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/css" href="astyle.css" ?>

<p:projekt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://piwowarzy.pl/projekt main.xsd"
           xmlns:p="http://piwowarzy.pl/projekt"
           xmlns:o="http://piwowarzy.pl/alko"
           xmlns:c="http://piwowarzy.pl/info"
           xmlns:cmn="http://piwowarzy.pl/tytul">

        <cmn:tytul> Piwa europejskie </cmn:tytul>
    <c:info>
            <c:autorzy>Bartłomiej Mikołajczyk, Marcin Mucha</c:autorzy>
            <c:opis2>Arkusz ten zawiera dane o różnych rodzajach piw, informacje o nich oraz krótkie opisy.</c:opis2>
            <c:data>Ostatnia data modyfikacji: 25.10.2018</c:data>
    </c:info>
    <o:piwa_i_alkohole>
        <o:piwo id="p1" from="polskie">
            <o:nazwa>Żywiec</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Lubelszczyzna</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Żywiec</o:name>
                <o:rozlewnia>Żywiec</o:rozlewnia>
                <o:rok_założenia>1856</o:rok_założenia>     

                <o:alkohol>5,6%</o:alkohol>
            </o:browar>
            <o:opis>Piwo Żywiec od momentu powstania w 1856 r. jest warzone stale i niezmiennie w tym samym miejscu – browarze w Żywcu. 
            Najsłynniejsze polskie piwo typu pilzneńskiego. Absolutna klasyka gatunku i idealne połączenie tradycji z nowoczesnością.</o:opis>
        </o:piwo>

        <o:piwo id="p2" from="polskie">
            <o:nazwa>Namysłów Pils</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Opolszczyzna</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Namysłów</o:name>
                <o:rozlewnia>Namysłów</o:rozlewnia>
                <o:rok_założenia>1321</o:rok_założenia>     

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Namysłów Pils to piwo jasne pełne. Piwo to powstaje w oparciu o tradycyjne metody produkcji takie jak otwarte kadzie fermentacyjne, które browar utrzymuje i pielęgnuje aby było ono wyjątkowe w swoim smaku. 
            Również opakowanie Pilsa nawiązuje do tradycji browaru Namysłów, jego regionalnego charakteru oraz autentyczności pochodzenia.</o:opis>
        </o:piwo>

        <o:piwo id="p3" from="polskie">
            <o:nazwa>Harnaś Jasne Pełne</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Małopolska</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Okocim</o:name>
                <o:rozlewnia>Okocim</o:rozlewnia>
                <o:rok_założenia>1845</o:rok_założenia>

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Szlachetne męskie piwo pełne siły, humoru i pogody ducha. Orzeźwia i cieszy swoim wyjątkowym smakiem i aromatem. Idealne do pracy.</o:opis>
        </o:piwo>

        <o:piwo id="p4" from="polskie">
            <o:nazwa>Lech Premium</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Wielkopolska</o:region>
            </o:chmiel>
            <o:browar type="ciemne">
                <o:name>Lech Browary Wielkopolski</o:name>
                <o:rozlewnia>Poznań</o:rozlewnia>
                <o:rok_założenia>1975</o:rok_założenia>

                <o:alkohol>5,2%</o:alkohol>
            </o:browar>
            <o:opis>Lech Premium to jedna z czołowych marek Kompanii Piwowarskiej, która istnieje na rynku już od początku lat osiemdziesiątych. Doprowadzony do perfekcji proces produkcji Lecha w poznańskim browarze, jednym z najnowocześniejszych browarów w Europie, jest gwarancją najwyższej jakości piwa Lech. 
            Piwo Lech Premium to harmonia smaku i odpowiedniego nagazowania, które nadają mu doskonałych właściwości orzeźwiających, idealne połączenie mocy ze szlachetną goryczą dojrzałego chmielu. Piwo warzone z naturalnych składników.</o:opis>
        </o:piwo>

        <o:piwo id="p5" from="polskie">
            <o:nazwa>Perła Export</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Lubelszczyzna</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Perła – Browary Lubelskie</o:name>
                <o:rozlewnia>Lublin</o:rozlewnia>
                <o:rok_założenia>1946</o:rok_założenia>

                <o:alkohol>5,6%</o:alkohol>
            </o:browar>
            <o:opis>Perła Export to kwintesencja smaku, zapachu i koloru Wyżyny Lubelskiej uznana przez smakoszy na całym świecie.</o:opis>
        </o:piwo>

        <o:piwo id="p6" from="polskie">
            <o:nazwa>Żubr</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Wielkopolska</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Browar Dojlidy</o:name>
                <o:rozlewnia>Białystok</o:rozlewnia>
                <o:rok_założenia>1768</o:rok_założenia>

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Żubr kojarzony jest z nieskażoną przyrodą, której bliskość wpływa na jego niepowtarzalny smak. Warzony z naturalnych składników od ponad 200 lat na so:kraju Puszczy Białowieskiej, jest idealny na zakończenie każdego dnia. 
            Żubr jest pełen spokoju i harmonii, znakomity w czasie relaksu na świeżym powietrzu po trudach tygodnia. To druga pod względem wielkości sprzedaży marka piwa w Polsce.</o:opis>
        </o:piwo>

        <o:piwo id="p7" from="polskie">
            <o:nazwa>Tyskie</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Śląsk</o:region>
            </o:chmiel>
            <o:browar type="ciemne">
                <o:name>Tyskie Browary Książęce</o:name>
                <o:rozlewnia>Tychy</o:rozlewnia>
                <o:rok_założenia>1613</o:rok_założenia>

                <o:alkohol>5,6%</o:alkohol>
            </o:browar>
            <o:opis>Tyskie jest niekwestionowanym liderem polskiego rynku piwa.Od lat zdobywa uznanie zarówno w kraju jak i zagranicą. Wielokrotnie zostało uhonorowane najbardziej prestiżowymi laurami branży piwowarskiej. 
            Koneserzy piwa cenią w Tyskim łagodny chmielowy zapach, złocisty kolor oraz gęstą białą pianę.</o:opis>
        </o:piwo>

        <o:piwo id="p8" from="polskie">
            <o:nazwa>Tatra Jasne Pełne</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Mazury</o:region>
            </o:chmiel>
            <o:browar type="ciemne">
                <o:name>Elbląg</o:name>
                <o:rozlewnia>Elbląg</o:rozlewnia>
                <o:rok_założenia>1872</o:rok_założenia>

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Tatra to marka znana i ceniona przez piwoszy w Polsce, a jej popularność stale rośnie. Warzone jest w renomowanych browarach Grupy Żywiec. Tatra Jasne Pełne to klasyczne piwo typu pilzneńskiego o wyraźnym aromacie i doskonałym, orzeźwiającym smaku.</o:opis>
        </o:piwo>

        <o:piwo id="p9" from="polskie">
            <o:nazwa>Redd’s Red</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Wielkopolska</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Kompania Piwowarska</o:name>
                <o:rozlewnia>Poznań</o:rozlewnia>
                <o:rok_założenia>1996</o:rok_założenia>

                <o:alkohol>4,5%</o:alkohol>
            </o:browar>
            <o:opis>Redd's Red to kombinacja charakterystycznej piwnej goryczki z kuszącym smakiem malin. Jest to połączenie tradycyjnego piwa z sokiem malinowym - i doskonała alternatywa dla osób lubiących piwo z sokiem. 
            Redd's Red to piwo o klarownym, delikatnie czerwonym zabarwieniu i malinowym zapachu.</o:opis>
        </o:piwo>

        <o:piwo id="p10" from="zagraniczne">
            <o:nazwa>Pilsner Urquell</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p101">Czechy</o:kraj>
                <o:region>o:kraj pilzneński</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Plzeňský Prazdroj</o:name>
                <o:rozlewnia>Pilzno</o:rozlewnia>
                <o:rok_założenia>1842</o:rok_założenia>

                <o:alkohol>4,4%</o:alkohol>
            </o:browar>
            <o:opis>Pilsner Urquell to piwo, które zmieniło bieg historii piwa na świecie i ponad 160 lat temu dało początek całej kategorii pilznerów. Jego szlachetna złocista barwa, wyjątkowy smak i najwyższa jakość gwarantowane są przez doskonałą i niezmienną od 1842 roku recepturę. 
            Świat Pilsner Urquell to świat dojrzałości, wyrafinowanego smaku oraz wyjątkowego stylu.</o:opis>
        </o:piwo>

        <o:piwo id="p11" from="polskie">
            <o:nazwa>Ciechan Wyborne</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Mazowieckie</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Ciechan</o:name>
                <o:rozlewnia>Ciechanów</o:rozlewnia>
                <o:rok_założenia>1864</o:rok_założenia>

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Piwo Ciechan Wyborne Niepasteryzowane produkowane przez Browar Ciechan jest warzone metodą dekokcyjną przy zachowaniu starych receptur. Urządzenia, jak i pomieszczenia technologiczne są historyczne, co ułatwiło odtworzenie procesu leżakowania i fermentacji. Tradycyjne procesy warzenia gwarantują niepowtarzalny aromat, klarowność i smak. 
            Piwo Ciechan Wyborne Niepasteryzowane jest filtrowane, posiada wyjątkowe walory smakowe, odżywcze i zdrowotne. Dzięki niskiej zawartości sodu może być spożywane przez osoby stosujące dietę bezsolną. W Warszawie i Mazowszu znane jako Wyborne Królewskie.</o:opis>
        </o:piwo>

        <o:piwo id="p12" from="zagraniczne">
            <o:nazwa>Heineken</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p102">Holandia</o:kraj>
                <o:region>Holandia Południowa</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Heineken</o:name>
                <o:rozlewnia>Zoeterwoude</o:rozlewnia>
                <o:rok_założenia>1864</o:rok_założenia>

                <o:alkohol>5,0%</o:alkohol>
            </o:browar>
            <o:opis>Heineken, w charakterystycznej zielonej butelce, jest jedną z najsilniejszych międzynarodowych marek piwa. Jest sprzedawany na każdym kontynencie w ponad 180 krajach świata. W Polsce Heineken jest największą marką w segmencie International Premium, cenioną przez osoby szukające piwa najwyższej jakości. 
            Na polskim rynku Heineken pojawił się oficjalnie w 1994. Od stycznia 2000 stał się częścią oferty handlowej Grupy Żywiec. Od czerwca 2001 wedle tradycyjnej receptury, przy zachowaniu najwyższych standardów browarniczych, Heineken warzony jest w browarze w Żywcu.</o:opis>
        </o:piwo>

        <o:piwo id="p13" from="polskie">
            <o:nazwa>Kasztelan Niepasteryzowane</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Mazowieckie</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Kasztelan</o:name>
                <o:rozlewnia>Sierpc</o:rozlewnia>
                <o:rok_założenia>1972</o:rok_założenia>

                <o:alkohol>5,7%</o:alkohol>
            </o:browar>
            <o:opis>Naturalne składniki, tradycyjna receptura, brak pasteryzacji to sekrety wyjątkowego smaku piwa Kasztelan Niepasteryzowane.</o:opis>
        </o:piwo>

        <o:piwo id="p14" from="zagraniczne">
            <o:nazwa>Budweiser Budvar Original</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p101">Czechy</o:kraj>
                <o:region>Kotlina Czeskobudziejowicka</o:region>
            </o:chmiel>
            <o:browar type="ciemne">
                <o:name>Budějovický Budvar</o:name>
                <o:rozlewnia>Czeskie Budziejowice</o:rozlewnia>
                <o:rok_założenia>1265</o:rok_założenia>

                <o:alkohol>5,0%</o:alkohol>
            </o:browar>
            <o:opis>Budweiser to piwo wręcz legendarne, jedno z najbardziej znanych czeskich piw. Powstaje tylko i wyłącznie w Czeskich Budziejowicach, dzięki czemu ma każdym kontynencie smakuje dokładnie tak samo. 
            Tradycja warzenia piwa Budweiser według niezmiennej od lat, oryginalnej receptury liczy 700 lat. Rewelacyjny smak, łagodny, a jednocześnie z wyraźnym posmakiem lekkiej goryczki. Głęboki kolor i idealne nasycenie to jego dodatkowe atuty.</o:opis>
        </o:piwo>

        <o:piwo id="p15" from="zagraniczne">
            <o:nazwa>Carlsberg</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p103">Dania</o:kraj>
                <o:region>Hillerod</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Carlsberg</o:name>
                <o:rozlewnia>Kopenhaga</o:rozlewnia>
                <o:rok_założenia>1847</o:rok_założenia>

                <o:alkohol>5,0%</o:alkohol>
            </o:browar>
            <o:opis>"Prawdopodobnie najlepsze piwo na świecie".
            Charakterystyczne zielone butelki "Vichy" z tłoczonym znakiem firmowym Carlsberga i znak firmy podkreślony od dołu wstęgą każdemu piwoszowi kojarzy się ze znakomitym trunkiem.</o:opis>
        </o:piwo>

        <o:piwo id="p16" from="zagraniczne">
            <o:nazwa>Desperados</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p104">Francja</o:kraj>
                <o:region>Grand Est</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Fischer</o:name>
                <o:rozlewnia>Schiltigheim</o:rozlewnia>
                <o:rok_założenia>1995</o:rok_założenia>

                <o:alkohol>6,0%</o:alkohol>
            </o:browar>
            <o:opis>Desperados to najszybciej rosnąca marka Premium na polskim rynku. Unikalna formuła piwa z aromatem tequili znalazła w bardzo krótkim czasie liczne grono wielbicieli. 
            Desperados towarzyszy młodym konsumentom w trakcie zabawy zarówno w domu jak i klubach, dyskotekach. Polska to jedyny obok Francji kraj, w którym Desperados jest produkowany. Unikalna przezroczysta butelka i styl komunikacji to znaki szczególne tej marki.</o:opis>
        </o:piwo>

        <o:piwo id="p17" from="polskie">
            <o:nazwa>Książęce Czerwony Lager</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Śląsk</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Tyskie Browary Książęce</o:name>
                <o:rozlewnia>Tychy</o:rozlewnia>
                <o:rok_założenia>1613</o:rok_założenia>

                <o:alkohol>4,9%</o:alkohol>
            </o:browar>
            <o:opis>Czerwony Lager o idealnie zbalansowanym smaku, swój wyjątkowy miedzianym kolor i kremową pianę zawdzięcza kompozycji słodów pilzneńskich i karmelowych. Przyjemny, naturalny zapach, wytrawna chmielowa goryczka oraz ciepłe karmelowe nuty podkreślają szlachetny charakter piwa.</o:opis>
        </o:piwo>

        <o:piwo id="p18" from="polskie">
            <o:nazwa>Warka Radler</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Mazowieckie</o:region>
            </o:chmiel>
            <o:browar type="jasne">
                <o:name>Warka</o:name>
                <o:rozlewnia>Warka</o:rozlewnia>
                <o:rok_założenia>1968</o:rok_założenia>

                <o:alkohol>2,0%</o:alkohol>
            </o:browar>
            <o:opis>Radler to jeden z najpopularniejszych w Europie mixów piwa z lemoniadą. Receptura oparta jest na połączeniu 40% jasnego piwa Warka z 60% lemoniady sporządzonej na bazie koncentratu soków cytrynowego i pomarańczowego. 
            Naturalnie mętny, lekki i pozbawiony nutki goryczy. Mętna konsystencja jest gwarantem obecności naturalnych składników. W smaku łączy walory jasnego piwa Warka oraz nutę cytrynowo-pomarańczowej lemoniady.</o:opis>
        </o:piwo>

        <o:piwo id="p19" from="polskie">
            <o:nazwa>Łebskie Original</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p100">Polska</o:kraj>
                <o:region>Kaszuby</o:region>
            </o:chmiel>
            <o:browar type="pełne">
                <o:name>Łebski Browar</o:name>
                <o:rozlewnia>Łeba</o:rozlewnia>
                <o:rok_założenia>1977</o:rok_założenia>

                <o:alkohol>5,6%</o:alkohol>
            </o:browar>
            <o:opis>o:piwo lekko pasteryzowane tzn. przez jedną minutę w 70°C, zachowuje wartościowe witaminy i minerały, a także jest źródłem tak korzystnie na nas działających przeciwutleniaczy. Doskonale gasi pragnienie. 
            Tradycyjnie warzone, z dodatkiem chmielu, coraz rzadziej występującego w tym szlachetnym trunku, dzięki czemu zawdzięcza ono swój wyśmienity smak.</o:opis>
        </o:piwo>

        <o:piwo id="p20" from="zagraniczne">
            <o:nazwa>Beck’s</o:nazwa>
            <o:chmiel>
                <o:kraj idref="p105">Niemcy</o:kraj>
                <o:region>Brema</o:region>
            </o:chmiel>
            <o:browar type="ciemne">
                <o:name>Beck’s Brewery</o:name>
                <o:rozlewnia>Bremen</o:rozlewnia>
                <o:rok_założenia>1873</o:rok_założenia>

                <o:alkohol>5,0%</o:alkohol>
            </o:browar>
            <o:opis>Beck’s jest wspaniałym przedstawicielem grupy pilznerów. W swojej klasie należy z pewnością do liderów. Beck’s to piwo znane i cieszące się uznaniem niemal na całym świecie. Jest warzone od lat zgodnie z „niemieckim prawem czystości składu piwa”.</o:opis>
            </o:piwo>

            <o:lista_producentów>
                <o:producent id="p100" short_name="PL">
                    <o:nazwa_2>Polska</o:nazwa_2>
                </o:producent>   
                <o:producent id="p101" short_name="CZ">
                    <o:nazwa_2>Czechy</o:nazwa_2>
                </o:producent>   
                <o:producent id="p102" short_name="NL">
                    <o:nazwa_2>Holandia</o:nazwa_2>
                </o:producent>   
                <o:producent id="p103" short_name="DK">
                    <o:nazwa_2>Dania</o:nazwa_2>
                </o:producent>   
                <o:producent id="p104" short_name="FR">
                    <o:nazwa_2>Francja</o:nazwa_2>
                </o:producent>   
                <o:producent id="p105" short_name="GER">
                    <o:nazwa_2>Niemcy</o:nazwa_2>    
                </o:producent>   
            </o:lista_producentów>     

    </o:piwa_i_alkohole>
</p:projekt>  

main.xsd

    <?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:o="http://piwowarzy.pl/alko"
           xmlns:p="http://piwowarzy.pl/projekt"
           xmlns:cmn="http://piwowarzy.pl/tytul"
           xmlns:c="http://piwowarzy.pl/info"
           targetNamespace="http://piwowarzy.pl/projekt"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
    <xs:import schemaLocation="tytul.xsd"
               namespace="http://piwowarzy.pl/tytul" />
    <xs:import schemaLocation="info.xsd"
               namespace="http://piwowarzy.pl/info" />
    <xs:import schemaLocation="alko.xsd"
               namespace="http://piwowarzy.pl/alko" />
    <xs:element name="projekt">
        <xs:complexType>
            <xs:sequence>               
                <xs:element name="tytul" type="cmn:tytul" />          
        <xs:element name="info" type="c:info" />
        <xs:element name="piwa_i_alkohole" type="o:alko" />
            </xs:sequence>
        </xs:complexType>   
    </xs:element>
</xs:schema>

tytul.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema targetNamespace="http://piwowarzy.pl/tytul"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
    <xs:simpleType name="tytul">
        <xs:restriction base="xs:string">   
            <xs:minLength value="5"/>
            <xs:maxLength value="50"/>
        </xs:restriction>     
    </xs:simpleType>
</xs:schema> 

info.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:cmn="http://piwowarzy.pl/tytul"
           targetNamespace="http://piwowarzy.pl/info"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">    
    <xs:complexType name="info">
        <xs:sequence>
            <xs:element name="autorzy" type="xs:string" />
        <xs:element name="opis2" type="xs:string" />
        <xs:element name="data" type="xs:date" />
        </xs:sequence>
    </xs:complexType>
</xs:schema>

alko.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:cmn="http://piwowarzy.pl/tytul"
           targetNamespace="http://piwowarzy.pl/alko"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
    <xs:import schemaLocation="tytuł.xsd"
               namespace="http://piwowarzy.pl/tytul" />

    <xs:complexType name="alko" >   
    <xs:sequence>                                   
            <xs:element name="piwo" maxOccurs="unbounded" >             
        <xs:complexType>
                    <xs:sequence>
            <xs:element name="nazwa" type="xs:string" />
            <xs:element name="chmiel" >                             
                            <xs:complexType>
                <xs:sequence>                                           
                                    <xs:element name="region" type="xs:string" />
                                    <xs:element name="kraj">
                                        <xs:complexType>
                                            <xs:simpleContent>
                        <xs:extension base="xs:string">
                                                    <xs:attribute name="id">    
                            <xs:simpleType>                                             
                                                            <xs:restriction base="xs:ID" >
                                <xs:pattern value="[p][1][0][0-5]" />                               
                                                            </xs:restriction>
                            </xs:simpleType>    
                                                    </xs:attribute>                                                                                     
                                                    <xs:attribute name="from" >
                            <xs:simpleType>
                                                            <xs:restriction base="xs:NMTOKEN" >
                                <xs:enumeration value="polskie" />
                                <xs:enumeration value="zagraniczne" />                              
                                                            </xs:restriction>
                            </xs:simpleType>    
                                                    </xs:attribute>
                        </xs:extension>                                             
                                            </xs:simpleContent>
                                        </xs:complexType>   
                                    </xs:element>   
                </xs:sequence>
                            </xs:complexType>
            </xs:element>                               
                    </xs:sequence>

                    <xs:attribute name="id" >
            <xs:simpleType>
                            <xs:restriction base="xs:ID" >
                <xs:pattern value="[p][0-2][0-9] | [p][1-9]" />                             
                            </xs:restriction>
            </xs:simpleType>    
                    </xs:attribute> 
                </xs:complexType>
            </xs:element>   

            <xs:element name="browar" >                     
        <xs:complexType>
                    <xs:sequence>
            <xs:element name="name" type="xs:string" />
            <xs:element name="rozlewnia" type="xs:string" />
            <xs:element name="rok_założenia" >  
                            <xs:simpleType>
                <xs:restriction base="xs:integer" >
                                    <xs:minInclusive value="1" />
                                    <xs:maxInclusive value="2018" />
                </xs:restriction>
                            </xs:simpleType>
            </xs:element>   
            <xs:element name="alkohol">
                            <xs:simpleType>
                <xs:restriction base="xs:decimal" >
                                    <xs:fractionDigits value="1" />
                </xs:restriction>
                            </xs:simpleType>
            </xs:element>   
                    </xs:sequence>

                    <xs:attribute name="typek">
            <xs:simpleType>
                            <xs:restriction base="xs:string" >
                <xs:enumeration value="jasne" />
                <xs:enumeration value="ciemne" />
                <xs:enumeration value="pełne" />                            
                            </xs:restriction>
            </xs:simpleType>
                    </xs:attribute>
                </xs:complexType>   
            </xs:element>

            <xs:element name="opis" >
                <xs:complexType>                                
                    <xs:attribute name="opis" type="xs:string"/>
                </xs:complexType>    
            </xs:element>

            <xs:element name="lista_producentów" >
        <xs:complexType>
                    <xs:sequence>
            <xs:element name="producent" >
                            <xs:complexType>
                <xs:sequence>                               
                                    <xs:element name="nazwa_2" >
                    <xs:complexType>
                                            <xs:simpleContent>
                        <xs:extension base="xs:string">                                                 
                                                    <xs:attribute name="id" use="required"/>                                                    
                        </xs:extension>
                                            </xs:simpleContent>
                    </xs:complexType>   
                                    </xs:element>
                </xs:sequence>
                            </xs:complexType> 
            </xs:element>
                    </xs:sequence>
        </xs:complexType> 
        <xs:key name="id">
                    <xs:selector xpath="alko/lista_producentów"/>
                    <xs:field xpath="@id"/>
        </xs:key>
            </xs:element>

    </xs:sequence>                              
    </xs:complexType>   
</xs:schema>

1 Ответ

0 голосов
/ 30 октября 2018

Информационный элемент находится в пространстве имен http://piwowarzy.pl/projekt, комплексный тип информации находится в пространстве имен http://piwowarzy.pl/info. При создании элемента с использованием типа пространство имен не переносится. Поэтому ваш информационный элемент в вашем xsd находится в пространстве имен http://piwowarzy.pl/projekt.

Таким образом, ваш xml недопустим, поскольку он определяет информационный элемент, который находится в пространстве имен http://piwowarzy.pl/info, однако xsd не знает информационный элемент в этом пространстве имен. Таким образом, вы можете настроить xml, чтобы представить это, например, так:

<p:projekt xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
           xsi:schemaLocation="http://piwowarzy.pl/projekt main.xsd"
           xmlns:p="http://piwowarzy.pl/projekt"
           xmlns:o="http://piwowarzy.pl/alko"
           xmlns:c="http://piwowarzy.pl/info"
           xmlns:cmn="http://piwowarzy.pl/tytul">

        <cmn:tytul> Piwa europejskie </cmn:tytul>
    <p:info>
            <c:autorzy>Bartłomiej Mikołajczyk, Marcin Mucha</c:autorzy>
            <c:opis2>Arkusz ten zawiera dane o różnych rodzajach piw, informacje o nich oraz krótkie opisy.</c:opis2>
            <c:data>Ostatnia data modyfikacji: 25.10.2018</c:data>
    </p:info>

Теперь информационный элемент в вашем xml находится в пространстве имен projekt.

Или вы можете изменить xsd следующим образом, чтобы информационный элемент принадлежал пространству имен info:

info.xsd

<?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:cmn="http://piwowarzy.pl/tytul"
           targetNamespace="http://piwowarzy.pl/info"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified"> 
<element name="info">   
    <xs:complexType>
        <xs:sequence>
            <xs:element name="autorzy" type="xs:string" />
        <xs:element name="opis2" type="xs:string" />
        <xs:element name="data" type="xs:date" />
        </xs:sequence>
    </xs:complexType>
  </element>
</xs:schema>

main.xsd

 <?xml version="1.0" encoding="UTF-8"?>

<xs:schema xmlns:o="http://piwowarzy.pl/alko"
           xmlns:p="http://piwowarzy.pl/projekt"
           xmlns:cmn="http://piwowarzy.pl/tytul"
           xmlns:c="http://piwowarzy.pl/info"
           targetNamespace="http://piwowarzy.pl/projekt"
           xmlns:xs="http://www.w3.org/2001/XMLSchema"
           elementFormDefault="qualified">
    <xs:import schemaLocation="tytul.xsd"
               namespace="http://piwowarzy.pl/tytul" />
    <xs:import schemaLocation="info.xsd"
               namespace="http://piwowarzy.pl/info" />
    <xs:import schemaLocation="alko.xsd"
               namespace="http://piwowarzy.pl/alko" />
    <xs:element name="projekt">
        <xs:complexType>
            <xs:sequence>               
                <xs:element name="tytul" type="cmn:tytul" />          
        <xs:element name="info" ref="c:info" />
        <xs:element name="piwa_i_alkohole" type="o:alko" />
            </xs:sequence>
        </xs:complexType>   
    </xs:element>
</xs:schema>

Теперь info.xsd определяет элемент вместо типа, а main.xsd использует этот элемент, который переносит пространство имен.

...