Konrad Rudolph: Zwei Stylesheet-Fragen zu XML

Hallo Forum,

ich wollte heute eigentlich nur einen XML-Parser basteln und habe deswegen mal schnell den XML/DTD-Part von SelfHTML durchgehechelt und mir ein par W3C-Specs reingezogen.

Nun habe ich zwei Fragen:

(wie) gehen Inline-Styles (CSS)?

Im Moment definiere ich meine Styles so:
\\ <?xml-stylesheet type="text/css" href="body.css" ?>
///

ich hätte das aber gerne inline.

Zur zweiten, wichtigeren Frage: ich habe ein Dokument (Quellcode folgend), das in Mozilla und MSIE fast gleich gerendert wird; allerdings bekomme ich im IE einfach die Margin ganz außen rum nicht weg, dabei ist sie im Stylesheet explizit als null definiert. Was soll das?

Hier die XML-Datei (IMHO wohlgeformt und gültig, lasse mich aber gerne eines Besseren belehren):

\\ <?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE body [
    <!ELEMENT body (#PCDATA | header | par)*>
    <!ELEMENT header (#PCDATA) >
    <!ELEMENT par (#PCDATA)>
]>
<?xml-stylesheet type="text/css" href="body.css" ?>

<body>
    <header>This is some custom header</header>
    <par>
        Lorem ipsum dolor sit amet, (...)
    </par>
    <par>
        Nunc vitae nunc (...)
    </par>
</body>
///

und das korrespondierende Stylesheet:

\\ body {
    font: 1em "Times New Roman", "Times", serif;
    margin: 0;
    padding: 0;
}

header {
    background-color: White;
    color: Black;
    display: block;
    font: bold 1.7em "Arial", "Helvetica", sans-serif;
    margin: 15px 15px 10px 15px;
}

par {
    background-color: White;
    color: Black;
    display: block;
    text-indent: 1em;
}
///

und die Joker-Frage (*g*): gibt es Validatoren für XML? Mozilla ist auf diesem Gebiet zwar schon garnicht so schlecht, aber er validiert nur die Wohlgeformtheit, nicht die Gültigkeit.

Gruß,
KonRad -

--
SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
ss:| zu:( ls:$ fo:! de:] va:| ch:? sh:) n4:# rl:? br:& js:| ie:) fl:| mo:|
  1. ich hatte das problem auch und mit css hats auch nicht immer funktioniert.

    ich habe das im html code so gelöst:

    <BODY style="margin:0px">
    <div style="position:absolute; top:0px; left:0px;">
    .
    .
    .
    </div>
    </body>

    so sollte dar rand links und oben weg sein.

    1. ich habe das im html code so gelöst:

      <BODY style="margin:0px">
      <div style="position:absolute; top:0px; left:0px;">

      klasse, danke! Das mit top/left = 0 war der entscheidende Hinweis, es klappt jetzt!

      Gruß,
      KonRad -

      --
      SELF-Code: (http://emmanuel.dammerer.at/selfcode.html)
      ss:| zu:( ls:$ fo:! de:] va:| ch:? sh:) n4:# rl:? br:& js:| ie:) fl:| mo:|
  2. Hallo,

    und die Joker-Frage (*g*): gibt es Validatoren für XML? Mozilla ist auf diesem Gebiet zwar schon garnicht so schlecht, aber er validiert nur die Wohlgeformtheit, nicht die Gültigkeit.

    MSXML (3+) kann auch zur Validierung verwendet werden. Man kann den Test auf Gueltigkeit einer XML-Instanz nach einer speziellen Installation ueber das Kontextmenue des IE "Validate XML" machen (mal im MSDN suchen).

    Dann gibt es noch xmlint als Konsolenanwendung.

    Praktischer finde ich die direkte Validierung im Editor. Fuer HTML-Kit gibt es ein Plug-in, welches auf Knopfdruck Wohlgeformtheit bzw. Gueltigkeit prueft: http://www.chami.com/html-kit/.

    Bonfire Studio gefaellt mir auch sehr gut: http://www.nzworks.com/bonfire/, wobei auch auf die IE-Komponenten zurueck gegriffen wird.

    MfG, Thomas