Transformacja XML przez Xsl.XslCompiledTransform

Transformacja XML przez Xsl.XslCompiledTransform
GR
  • Rejestracja:prawie 17 lat
  • Ostatnio:ponad 12 lat
0

Cześć,

Kolejne problemy z migracją z PHP na ASP.NET, tym razem mam nadzieję że łatwiejsze do przebrnięcia :) Otóż transformację z XML do HTML wykonuję w ten sposób:

Kopiuj
System.Xml.Xsl.XslCompiledTransform transform = new System.Xml.Xsl.XslCompiledTransform();

transform.Load(
    Server.MapPath(this.Parameters.Xsl)
);

transform.Transform(this.XmlDocument.CreateNavigator(), null, writer);

Dokument XSL mam z deklarcją wyjścią:

<xsl:output method="html" indent="yes" encoding="utf-8" doctype-public="-//W3C//DTD HTML 4.01//EN" doctype-system="http://www.w3.org/TR/html4/strict.dtd" />

Czyli łopatologiczny HTML 4.01. Problem w tym, że zapis:

<div></div>

Zamienia mi na coś takiego:

<div />

co nie jest w żaden sposób zgodne z HTML 4.01. Spotkaliście się może z tym problemem? Jak go rozwiązać?

Pozdrawiam,
Grzegorz Wiśniewski

HN
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 11 lat
0
grzeswisniewski napisał(a)

Czyli łopatologiczny HTML 4.01. Problem w tym, że zapis:

<div></div>

Zamienia mi na coś takiego:

<div />

co nie jest w żaden sposób zgodne z HTML 4.01. Spotkaliście się może z tym problemem? Jak go rozwiązać?

HTML 4.01 osobiście nie znam, ale pracuję jakiś czas z XML i wiem, że "

" i "
" jest w XML, a więc i w XHTML jak najbardziej prawidłowe i oznacza to samo. Jest to zwyczajnie skrócona wersja węzła, który nie ma żadnych podwęzłów.</p>
GR
  • Rejestracja:prawie 17 lat
  • Ostatnio:ponad 12 lat
0

Gdyby o tym jeszcze wiedziały przeglądarki z rodziny Internet Explorer (szczególnie 6.) nie było by problemu :)

HN
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 11 lat
0

string.Replace("

", "
");</p>
GR
  • Rejestracja:prawie 17 lat
  • Ostatnio:ponad 12 lat
0

Wiem, że HTML to też string ale takie podejście raczej do najlepszych nie należy :/

HN
  • Rejestracja:ponad 17 lat
  • Ostatnio:około 11 lat
0

IE też do najlepszych nie należy, jeśli nie przyjmuje prawidłowego kodu :)

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.