2010-11-17 2 views
5

Pracuję nad systemem, który musi reprezentować formularz html z typowymi elementami, takimi jak pole tekstowe, pole wyboru, etykiety itp., Ale może mówić tylko JSON lub XML, a nie HTML.Czy istnieje standardowa reprezentacja formularzy HTML?

Zawsze mogę napisać własny konwerter JSON lub XML i analizator składni do reprezentowania formularza w wymaganym formacie, ale chciałbym pozostać przy niektórych standardach, jeśli istnieją, w celu zarządzania zmianami i rozszerzalności. Ponadto standard musi mieć istniejący analizator składni JavaScript.

Patrzyłem na XUL, ale wydaje się, że nie ma znaczników formularzy i wygląda jak DSL odpowiedni tylko dla aplikacji opartych na Mozilli. Również nie mogłem znaleźć parsera Javascript dla tego samego.

Uważam, że powinien to być dość powszechny problem, który ktoś rozwiązał, ale nie jestem w stanie go znaleźć. Wszelkie wskazówki będą mile widziane.

+0

Co robi " JSON/XML "znaczy? Czy masz na myśli * albo * JSON * albo * XML, czy jest to jakiś dziwny format hybrydowy? – Pointy

+0

Również nie ma "standardowej" serializacji treści formularza do JSON lub XML, innych niż rzeczy takie jak różne frameworki do zbierania wartości "" elementów. Wygląda na to, że mówisz o czymś więcej ("akapity itp."). – Pointy

+0

Miałem na myśli JSON lub XML. Elementy formularza będą działać na razie. Wsparcie dla paragrafów z etykietami byłoby idealne. – Chirantan

Odpowiedz

7

Standardowa reprezentacja formularzy HTML jest ... formularze HTML.

O ile mi wiadomo, nikt nie wymyślił alternatywnego sposobu ich reprezentowania, ponieważ, no cóż, dlaczego? Są już deklaratywne.

Na szczęście, biorąc pod uwagę, że HTML może być zapisany jako XML (nazywamy to XHTML), formularze XHTML już spełniają wymagania XML.

Jeśli chodzi o parsowanie ich w JavaScript, to zależy to od tego, co rozumiemy przez parsowanie. John Resig is working on a full HTML parser in JavaScript, ale jeśli chcesz tylko odczytać/zapisać wartości przez DOM, możesz to zrobić w JavaScript.

Spec formularzy HTML jest tutaj:

Spec dla jak napisać HTML jako XML jest XHTML 1.0 Spec:

Jeśli wolisz korzystać z formularzy HTML5, który dodaje kilka nowych pól formularza (patrz http://diveintohtml5.ep.io/forms.html), zastosowanie mają odpowiednie specyfikacje to:

+1

Jest XForms - http://www.w3.org/MarkUp/Forms/ - ale nie chciałbym. –

+0

@Tom: usłysz to. W3C zrezygnował z nich, przynajmniej w Internecie. –