【问题标题】:Few probems in XML Schema validationXML Schema 验证中的几个问题
【发布时间】:2018-11-02 03:23:57
【问题描述】:

我正在尝试验证为匹配我的 XML 文件而构建的 Schema 项目,但我遇到了一些错误:

cvc-complex-type.2.4.d:发现以元素“o:browar”开头的无效内容。此时不需要子元素。 [24]

cvc-id.2:ID 值“p100”多次出现。 [38] (以及从 p100 到 p105 的任何其他 id 都有此错误)

cvc-attribute.3:元素“o:kraj”上属性“idref”的值“p100”相对于其类型“null”无效。 [38]

cvc-complex-type.2.4.a:发现以元素“o:lista_producentów”开头的无效内容。需要 '{"http://piwowarzy.pl/alko":piwo, "http://piwowarzy.pl/alko":browar}' 之一。 [352]

cvc-attribute.3:元素“o:producent”上属性“id”的值“p100”相对于其类型“null”无效。 [353](以及从 p100 到 p105 的任何其他 id 都有此错误)

这里是代码示例:

piwowarzy.xml

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet typek="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">

    <p:tytul> Piwa europejskie </p: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>
    <p:piwa_i_alkohole>
        <o:piwo id="p01" 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 typek="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="p02" 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 typek="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="p03" 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 typek="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="p04" 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 typek="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="p05" 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 typek="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="p06" 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 typek="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="p07" 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 typek="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="p08" 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 typek="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="p09" 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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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 typek="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>     

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

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="kraj">
                                        <xs:complexType>
                                            <xs:simpleContent>
                                                <xs:extension base="xs:string">
                                                    <xs:attribute name="idref">    
                                                        <xs:simpleType>                                             
                                                            <xs:restriction base="xs:ID" >
                                                                <xs:pattern value="[p][1][0][0-5]" />                               
                                                            </xs:restriction>
                                                        </xs:simpleType>    
                                                    </xs:attribute>                                                                                     

                                                </xs:extension>                                             
                                            </xs:simpleContent>
                                        </xs:complexType>   
                                    </xs:element>
                                    <xs:element name="region" type="xs:string" />   
                                </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]" />                             
                            </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:complexType>
            </xs:element>   

            <xs:element name="browar" maxOccurs="unbounded" >                     
                <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" maxOccurs="unbounded" >
                                <xs:complexType>
                                    <xs:sequence>                               
                                        <xs:element name="nazwa_2" type="xs:string" />
                                    </xs:sequence>
                                    <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="short_name" use="required"/>  
                                </xs:complexType> 
                            </xs:element>
                    </xs:sequence>
                </xs:complexType> 
            </xs:element>

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

【问题讨论】:

    标签: xml xsd schema


    【解决方案1】:

    好吧,您的架构只允许piwo 有两个孩子nazwachmiel,所以它不允许出现在您的实例中的第三个孩子browar 也就不足为奇了,是吗?

    同样,您对“id”类型的定义明确地只允许两位数字,因此您应该期望值“p100”被拒绝。

    一般来说,您似乎遇到了我希望您遇到的验证错误,并且从您的帖子中并不清楚为什么您会发现它们令人惊讶。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-09-10
      • 2012-01-08
      • 2011-06-19
      • 1970-01-01
      • 2013-03-22
      • 1970-01-01
      • 2010-12-04
      相关资源
      最近更新 更多