2009-05-30 3 views
0

Ich möchte Validierungen für den statischen Webinhalt ausführen, den ich erstelle. Gibt es gute Validatoren für XHTML, ATOM und CSS? (Die ersten beiden würden von jedem allgemeinen XML-DTD-Validator abgedeckt werden.)Wie validiere ich XHTML, ATOM und CSS in Ruby?

Später

ich nicht angeben, dass ich lokale Validierung wollte, nicht etwas, das den W3C-Dienst verwendet.

+0

Eine schamlose Werbung, und es gibt ein paar von diesen herum, aber ich schrieb hier ein wenig Markup Validator Juwel, das die w3c api verwendet man kann es sehen http://github.com/DylanFM/please_validate/tree/master – dylanfm

Antwort

4

Nokogiri (http://github.com/tenderlove/nokogiri/tree/master) ist großes Werkzeug für das Parsen von XML/XHTML/HTML/etc und es sieht aus wie es auch bestätigen kann:

Nokogiri::XML.parse(string_or_io, nil, nil, Nokogiri::XML::PARSE_DTDVALID) 

Im Moment glaube ich nicht, dass Sie finde ein reines Ruby-Projekt, das deine CSS-Direktiven validiert, aber es gibt viele, mit denen du Ruby-Code verwenden kannst, um gültiges CSS zu generieren.

0

Markup Validation Service, von W3C kann XHTML validieren.

Es gibt auch eine CSS Validation Service und eine Feed Validation Service.

Haben Sie danach gesucht?

Wenn Sie von innen ein Ruby-Programm validieren möchten, ist ein Artikel, here ist ein Artikel, der erklärt, wie man das mit diesen Diensten macht. Ich habe es nicht versucht, tut mir leid.

+0

Ausgehend vom Titel der Frage würde ich sagen, er sucht nach einem Ruby-Skript, das die Validierung lokal durchführen kann. –

1

Nur als eine Info: Nokogiri 1.3.0 wurde heute veröffentlicht und hat nun Validierungsklassen für XML in der offiziellen Version. Keine Notwendigkeit, die Stammversion zu bekommen.

http://nokogiri.rubyforge.org/nokogiri/

+0

gem install nokogiri wird Ihnen die neueste Version, nicht eine "Trunk" Version, die Master auf Git wäre. –

1

Ich verwende die nach dem Aufschlag auf allen unseren Seiten durch unseren Test-Suite zu überprüfen: assert_valid_markup

Es ist schön Markup-Tests bietet wie:

class FooControllerTest < Test::Unit::TestCase 
    def test_bar_markup 
    get :bar 
    assert_valid_markup 
    end 
end 

oder

class FooControllerTest < Test::Unit::TestCase 
    def test_bar_markup 
    assert_valid_markup "<div>Hello, world.</div>" 
    end 
end 

# For the ultimate in convenience, use the class-level method to validate a slew of 
# actions in one line. Par exemple: 

class FooControllerTest < Test::Unit::TestCase 
    assert_valid_markup :bar, :baz, :qux 
end 
+0

haben Sie dieses Repository gelöscht? GitHub sagt, dass es nicht existiert –

+0

Hm, vielleicht ist es ein GitHub Problem. Der Link funktioniert nicht, aber die URL funktioniert. –

+0

Ich habe den Link repariert. Musste nur das/Baum/Master-Bit loswerden. –

0

Ich bin ein bisschen zu spät zur Party, aber ... Für die lokale Validierung für HTML - könntest du mein html_validation-Juwel ansehen. Es umschließt HTML Tidy, das vom W3c ausgegeben wird. Es kommt mit einem RSpec Matcher.

https://github.com/ericbeland/html_validation