Używałem formatu XML będącego miksowaniem różnych istniejących formatów oraz niektórych niestandardowych elementów i atrybutów. Pomyślałem, że powinienem napisać schemat dla tych niestandardowych bitów.Deklarowanie atrybutu dla innej przestrzeni nazw w schemacie XML
Jedno mogę zrobić, to użycie niestandardowych atrybutów elementów w istniejących formatach, takich jak to:
<ns1:something attA="b" attB="a" ns2:extraAtt="c"/>
Rozumiem, że ten sposób jest dozwolone, ale nie mogę myśleć jak deklarować mój „extraAtt” w XML Schema lub , gorzej, w DTD.
Próbowałem przeczytać specification, ale równie dobrze mógłbym napisać po chińsku, o ile mi wiadomo. Większość samouczków mówi tylko o "nazwie", "typie" i "użyciu", np. this one i that one.
Dziękujemy za odpowiadając! Jestem jednak nieco rozczarowany, że moje dokumenty XML nie mogą być poprawne, jeśli autorzy schematu dla ns1 nie przewidzieli możliwości rozszerzenia. ;-) Jeśli format ns1 jest zdefiniowany tylko w DTD, co, o ile wiem, nie ma odpowiednika xs: anyAttribute, czy to powoduje, że moje dokumenty są ważne lub nieważne? (Mam nadzieję, że to ma sens). – scozy
Definiujący termin otrzymuje informację, co to znaczy. Definitor elementu ns1: coś mówi, co chce zliczyć jako poprawną instancję. Termin * valid * jest terminem technicznym określającym relację dokumentu do danego schematu; Ważność DTD definiowana jest w terminach schematów zapisanych w notacji DTD, ważności XSD w terminach schematów XSD; żaden z nich nie jest przeznaczony do sprawdzania poprawności w języku mieszanym. To, czy ci zależy, zależy od tego, dlaczego chcesz, aby dokument był ważny. –