Frage

Ich habe Interesse an selektiv Mediawiki XML-Markup-Parsing einer angepassten HTML-Seite zu erzeugen, die durch die aktuelle PHP Mediawiki Render-Engine erzeugt eine Teilmenge der HTML ist.

Ich mag es für BzReader, einen Offline-Mediawiki Druck Dump Leser in C # geschrieben. So ein C # Parser wäre ideal, aber jeder gute Code würde helfen.

Natürlich, wenn niemand es vorher getan hat, ich denke, es ist Zeit, ein Projekt zu starten, einen freien und separaten Mediawiki-Parser beibehalten wird, basierend auf Mediawiki eigenen Parser, aber weniger eng integriert mit Mediawiki selbst.

So, weiß jemand von jeder Basis ich anfangen könnte, das wäre besser, als von der Mediawiki PHP-Code-Hacking?

War es hilfreich?

Lösung

Es gibt eine Liste von Parsern auf http://www.mediawiki.org/wiki/Alternative_parsers, aber ac # Parser ist dort nicht enthalten ...

Andere Tipps

Aktualisieren
Bare daran ScrewTurn klebt nicht an der Mediawiki-Syntax, sondern verwendet eine eigene Variante, die ein wenig variiert.

Die Mediawiki Syntax eignet sich nicht Parser (oder auch LL *) LALR wie es viele Unklarheiten in seiner Definition hat, und auch erlaubt HTML. Es gibt eine Diskussion zu diesem in dieser Frage , sind Sie im Wesentlichen mit dem Schreiben fest Ihr eigener Parser und tokenizer anstatt einfach eine BNF-Datei für sie zu schreiben und dann mit ANTLR / Gold / Irony.

Roadkill Wiki verwendet eine Creole Parser für seine Mediawiki Parsing, aber mit begrenzten Unterstützung.


ScrewTurn steht unter der GPL-Lizenz veröffentlicht und hat einen C # Parser:

Die Klasse sind Sie nach ist Core.Formatter die viele regexs zu tun, um seine Arbeit hat:

public static class Formatter {

}

Es ist nicht der schönste suche Code „aber es funktioniert“.

Ich hatte ein paar Worte zu sagen über Mediawiki Vorlagen hier . Interessant, dass eine Liste von alternativen Parser gibt es jetzt, ich werde das untersuchen haben.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top