2009-07-01 18 views
8

Chciałbym wiedzieć, czy istnieją jakieś standardy kodowania xml.Czy istnieją standardy kodowania plików XML?

<?xml version="1.0"?> 
<overlay id="tutorboy-toolbar-Overlay" xmlns="http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"> 
    <toolbox id="navigator-toolbox"> 
     <toolbar id="tutorboy-toolbar-Toolbar" 
        toolbarname="TutorBoy Toolbar" 
        accesskey="T" 
        class="chromeclass-toolbar" 
        context="toolbar-context-menu" 
        hidden="false" 
        persist="hidden"> 
       <toolbarbutton label="TutorBoy" 
           id="tutorboy-toolbar-button-home" 
           accesskey="d" 
           image="chrome://tutorboy-toolbar/skin/logo.png" 
           oncommand="loadURL('http://tutorboy.com');" 
           tooltiptext="Click here to go to the Tutorboy.com homepage." /> 

Czy jest to możliwe?

+0

Czy jesteś zainteresowany "standerds" lub "standers"? –

+0

Niejasne pytanie, proszę opracować. – VolkerK

+1

xml nie jest językiem programowania;) –

Odpowiedz

13

W3C definiuje rekomendację specyfikacji XML: http://www.w3.org/TR/REC-xml/

Skoro już zawężony zapytanie do formatowania XML, nie ma „uniwersalny” odpowiedź w jaki sposób XML powinien być sformatowany. Poza dostosowywaniem się do DTD lub schematu, z którym masz do czynienia, znaczenie poszczególnych odstępów/wcięć twoich znaczników spoczywa na ludziach, którzy będą zajmować się Twoimi danymi.

Jeśli tworzysz dane XML, które mają być wysłane przez sieć w ramach usługi sieciowej lub jakiegoś rodzaju, to ogólnie rzecz biorąc, przed transferem będziesz chciał wyeliminować niepotrzebne białe znaki w celu zoptymalizowania szybkości transferu danych . Oznacza to brak linii, brak wcięć, brak komentarzy.

Jeśli tworzysz dokument XML, który inni będą regularnie czytać/modyfikować, to oczywiście warto rozważyć, czy dokument będzie czytelny. To, co stanowi "czytelny", jest zdeterminowane przez wszystkich zaangażowanych w ten konkretny zespół lub projekt.

+1

Precyzyjnie. Biała przestrzeń powinna być zupełnie pozbawiona znaczenia dla semantyki, a jej obecność lub nieobecność jest kwestią gustu. A ponieważ XML jest głównie * nie * przeznaczony do czytelności dla człowieka, formatowanie nie ma szczególnego znaczenia. – GalacticCowboy

+2

@Jeff L Jestem pewien, że kiedy po raz pierwszy pomyślano, że XML nie był powszechnie używany przez ludzi. Ale jestem programistą kontraktowym dla .Net/WPF i Androida. W obu środowiskach codziennie sięgam po łokcie w głębokim XML, ponieważ jest to język formatowania interfejsu użytkownika. Microsoft ma narzędzie o nazwie Expression Blend, które umożliwia projektowanie WYSIWYG z XAML, ale jest to bardzo kosztowne narzędzie, więc nigdy nie widziałem go w użyciu w żadnym sklepie, w którym pracowałem. Własny wizualny projektant Visual Studio wymaga obszernego modyfikowania wynikowego XAML. Android/Eclipse prawie wymaga ręcznego kodowania. – user316117

+1

@GalacticCowboy "Dokumenty XML powinny być czytelne dla człowieka i rozsądnie zrozumiałe." z http://www.w3.org/TR/REC-xml/#sec-origin-goals - point 6. –

2

http://en.wikipedia.org/wiki/XML

Look pod „sensowności”

Nie ma zbyt wielu norm, ponieważ ma być bardzo elastyczny.

+0

W szczególności opublikowany kod XML nie jest dobrze sformułowany. Te, które Cię interesują to: może istnieć tylko jeden element główny, a każdy tag, który nie zamyka się samoczynnie (nie kończy się na />), musi mieć tag zamykający. – GalacticCowboy

4

Cóż, chciałbym zaproponować spojrzenie na

http://www.xfront.com/BestPracticesHomepage.html lub wyniki jakiejkolwiek google pod XML najlepszych praktyk.

Powiedziałbym, że standardy obejmują łączenie z plikiem XSD, właściwe znaki escape; etc etc

3

Istnieje jedno formatowanie odniesienia, XML Canonical, które jest zaimplementowane w narzędziach takich jak xmllint (opcja --c14n). Narzędzia te można zatem wykorzystać jako ładne drukarki.

Ale oczywiście nie musisz z niego korzystać. Podobnie jak w przypadku innych reguł formatowania, jest to kwestia gustu. Po prostu bądź konsekwentny.

+0

W rzeczywistości jest to rodzaj standardu formatowania. IMHO to odpowiada na pytanie. – Boldewyn

+1

Nie spowoduje to jednak standaryzacji wcięć. xml-c14n jest niezależny od schematu i dlatego zachowuje większość białych znaków (np. wcięcie) podczas konwersji dokumentu do jego postaci kanonicznej. Bez znajomości schematu nie można stwierdzić, która biała spacja ma znaczenie semantyczne. To, co wygląda jak spacja, może być treścią o znaczeniu semantycznym w elementach [mixed content] (http://www.w3.org/TR/REC-xml/#sec-mixed-content). –

0

Proponuję zapoznać się z XMLPatterns. Nie znajdziesz sugestii "stylu kodowania", ale znajdziesz interesujące wzorce projektowe (a la GangOfFour) dla struktury dokumentu XML.

Dla "stylu kodowania" sprawdzałem przykłady i próbowałem je naśladować. W razie wątpliwości wypróbuj różne strategie i znajdź to, które jest jasne i pociągające. Moja opinia na temat twojego przykładu jest pozytywna. nazwa tagu/atrybutu może jednak stanowić problem: małe litery bez odstępów, małe litery podkreślone, wielbłąd, wielka skrzynka wielbłąda?

1

Jako ogólna zasada: Umieść dane w osobnych elementach i metadanych w atrybutach.

Powiązane problemy