ich hab das teil so konstruiert, das es den code onthefly parst. deshalb teste ich es gerade relativ schnell auf viele möglichkeiten.
dieser string-> "as[B]dfasfdasdfasdfas[I]dfasdfas[/B]d[/I]f"
wirft auch eine exception
-> InvalidTagException
Das ist soweit ich weis aber auch gewollt, da die HTML Tags, so verschachtelt wie in diesem Beispiel, nicht korrekt sind! Der Parser verhindert also das man 'falsches' HTML produziert.
es wäre sinnvoll, wenn er bei einem fehler nicht einfach eine exception wirft, sondern einfach weitermacht in bewusstsein, das da nicht alles geparst wurde/konnte.
das problem ist nämlich, das er z.b. bei einem sehr langen text bei einem fehler einfach eine exception wirft und man weiß als erstes nicht wo und weshalb. wenn schon eine exception dann wäre der index im string gut zu wissen, damit man dem user einen hinweis geben kann wo sein fehler liegt.
erstmal danke für die ankündigung. ich habe ein paar kleinere fragen.
1. du schreibst zwar in deinem blog das man nur hardcoded konfigurieren kann, jedoch sagt er mir das er ParserConfiguration nicht kennt. ohne diese klasse ist es aber schwer zu konfigurieren?
2. welche neuereungen gibt es? releasenotes?
3. ich teste in einer 2.0 umgebung und die software soll im allgemeinen 2.0 lauffähig sein. was für komponenten verwendet ihr, welche evtl ein 3.5 benötigen sollten?
Ad 1: Die Klasse ParserConfiguration gibt es nicht mehr, dies geschieht nun über die Klasse TagConfiguration und eventuell über ParserOptions.
Ad 2: Releasenotes stehen noch keine zur Verfügung, kurz gesagt: Neues Konfigurationsmodell, bessere Fehlerbehandlung, Unterstützung für verschiedene Syntaxhighlighter, Unterstützung für Transformationen im Code, Unterstützung für benannte Attribute, Unterstützung für regelbasierte Übersetzung, ... guck Dir mal die letzten Einträge in meinem Blog an, im Endeffekt wird dies dort ersichtlich.
Ad 3: Es wurden Lambdaausdrücke verwendet, und einiges anderes, was in .NET 3.5 neu ist - ich weiß allerdings nicht, inwieweit das auf bekannte Konstrukte umgesetzt wird. Hast Du es einfach mal versucht, das Ding unter .NET 2.0 anzubinden?
Viele Grüße,
Golo
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden
ja ich bin nebenbei daran das ding in meinem programm unterzubringen. ist nur schade, das ich die alte konfiguration, die ja recht umfangreich bei mir mittlerweile ist, nicht mehr verwenden kann.
was die .net 2.0 geschichte betrifft, so werte ich mal eine vm rauskramen müssen, die ausschließlich 2.0 drauf hat, da mein rechner auch die 3.0 version installiert hat. deshalb wird es mit ziemlicher wahrscheinlichkeit auf meinem rechner laufen, jedoch bin ich mir nicht sicher ob es auf 2.0 only läuft.
Na ja, es ist ja auch erst die Beta ... Laden (und Speichern) der Konfiguration als XML soll noch kommen, und auch die Abwärtskompatibilität sollte gewahrt werden ...
Also nicht verzweifeln ;-)
Wissensvermittler und Technologieberater
für .NET, Codequalität und agile Methoden