Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Both sides previous revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
platzhalter [2018/11/08 19:54]
sk [Platzhalter für Service-Aufträge]
platzhalter [2022/11/25 10:24] (aktuell)
Andrea Müller
Zeile 1: Zeile 1:
-======Platzhalter für Service-Aufträge=======+======Platzhalter====== 
 + 
 +Platzhalter für Kopf und Fusstexte in den Textbausteinen finden Sie [[vorgaenge:​kopf-und_fusstext|hier]]. 
 + 
 +Platzhalter für die Disposition-Serviceaufträge finden Sie [[disposition-service:​disposition-service|hier]]. 
 + 
 +Platzhalter für den E-Mail-Versand der Vorgangsdokumente finden Sie [[vorgaenge:​emailversand|hier]]. 
 + 
 +Platzhalter für die Benachrichtigungsmail beim Erstellen einer Aktivität finden Sie [[aktivitaeten:​aktivitaeten_email|hier]]. 
 + 
 +Platzhalter für Tickets finden Sie [[ticket:​ticket|hier]] 
 + 
 +Platzhalter für Mahnungen per Mail finden Sie [[op-verwaltung:​op-verwaltung|hier]] 
 +=====Platzhalter für Service-Aufträge=====
 //(Gelten für Reparaturauftrag / Technikereinsatz)//​ //(Gelten für Reparaturauftrag / Technikereinsatz)//​
  
 Es gelten auch ausgewählte maschinenabhängige Platzhalter aus der Vertragsabrechnung. Es gelten auch ausgewählte maschinenabhängige Platzhalter aus der Vertragsabrechnung.
  
-^Platzhalter^ Bedeutung +^Platzhalter ^Bedeutung ​^ 
-| #​AP#​ |Ansprechpartner - hat den Servicefall gemeldet|  +|#​AP#​|Ansprechpartner - hat den Servicefall gemeldet|  
-| #​SA#​ |Ansprechpartner des Stellplatzes|  +|#​SA#​|Ansprechpartner des Stellplatzes|  
-| #​AS#​ |Ansprechpartner Stellplatz| +|#​AS#​|Ansprechpartner Stellplatz| 
-| #BT0# |Beginn der Tätigkeit ohne Datum|  +|#​BT0#​|Beginn der Tätigkeit ohne Datum|  
-| #​BT#​ |Beginn Tätigkeit|  +|#​BT#​|Beginn Tätigkeit|  
-| #​BM#​ |Bemerkung|  +|#​BM#​|Bemerkung|  
-| #​RW#​ |Berechnete Arbeitswerte| +|#​DB#​|Dispo-Bemerkung/​Hinweis an Disposition|  
-| #​RW0#​ |Berechnete Arbeitswerte mit 0-Unterdrückung|  +|#​RW#​|Berechnete Arbeitswerte| 
-| #​RWF#​ |Berechnete Arbeitswerte Fahrtzeit| +|#​RW0#​|Berechnete Arbeitswerte mit 0-Unterdrückung|  
-| #​RWF0#​|Berechnete Arbeitswerte Fahrtzeit mit 0-Unterdrückung|  +|#​RWF#​|Berechnete Arbeitswerte Fahrtzeit| 
-| #​RZ#​ |Berechnete Arbeitszeit|  +|#​RWF0#​|Berechnete Arbeitswerte Fahrtzeit mit 0-Unterdrückung|  
-| #​RZ0#​ |Berechnete Arbeitszeit mit 0-Unterdrückung|  +|#​RZ#​|Berechnete Arbeitszeit|  
-| #​RF#​ |Berechnete Fahrtzeit|  +|#​RZ0#​|Berechnete Arbeitszeit mit 0-Unterdrückung|  
-| #​RF0#​ |Berechnete Fahrtzeit mit 0-Unterdrückung|  +|#​RF#​|Berechnete Fahrtzeit|  
-| #​RK#​ |Berechnete Kilometer|  +|#​RF0#​|Berechnete Fahrtzeit mit 0-Unterdrückung|  
-| #​RK0#​ |Berechnete Kilometer mit 0-Unterdrückung| +|#​RK#​|Berechnete Kilometer|  
-| #BN#  |Bestellnummer|  +|#​RK0#​|Berechnete Kilometer mit 0-Unterdrückung| 
-| #DD# |Datum Tätigkeit|  +|#​BN#​|Bestellnummer|  
-| #DF# |Dauer Fahrt|  +|#DD#|Datum Tätigkeit|  
-| #DA# |Dauer pro Arbeitswert|  +|#DF#|Dauer Fahrt|  
-| #DT# |Dauer Zeit|  +|#DA#|Dauer pro Arbeitswert|  
-| #​EH#​ |Einsatzhinweis Maschine|  +|#DT#|Dauer Zeit|  
-| #SI# |Email Ansprechpartner des Stellplatzes|  +|#​EH#​|Einsatzhinweis Maschine|  
-| #ET# |Ende Tätigkeit| +|#SI#|Email Ansprechpartner des Stellplatzes|  
-| #EV#  |Ersatzmaschine vereinbart (j/n=|  +|#ET#|Ende Tätigkeit| 
-| #​FC#​ |Fehlercode Maschine|  +|#​EV#​|Ersatzmaschine vereinbart (j/n=|  
-| #​FT#​ |Fehlertext Maschine|  +|#​FC#​|Fehlercode Maschine|  
-| #​GK#​ |Gefahrene Kilometer|  +|#​FT#​|Fehlertext Maschine|  
-| #​GK0#​ |Gefahrene Kilometer mit 0-Unterdrückung|  +|#​GK#​|Gefahrene Kilometer|  
-| #​GW#​ |Geleistete Arbeitswerte|  +|#​GK0#​|Gefahrene Kilometer mit 0-Unterdrückung|  
-| #​GWF#​ |Geleistete Arbeitswerte Fahrtzeit|  +|#​GW#​|Geleistete Arbeitswerte|  
-| #​GZ#​ |Geleistete Arbeitszeit|  +|#​GWF#​|Geleistete Arbeitswerte Fahrtzeit|  
-| #​GF#​ |Geleistete Fahrtzeit| +|#​GZ#​|Geleistete Arbeitszeit|  
-| #HK#  |Herstellerkürzel Maschinenartikel ​ |  +|#​GF#​|Geleistete Fahrtzeit| 
-| #​KN#​ |Kundenname|  +|#​HK#​|Herstellerkürzel Maschinenartikel ​ |  
-| #​KU#​ |Kundennummer| +|#​KN#​|Kundenname|  
-| #LS#  |Letzter Serviceeinsatz (Datum)| +|#​KU#​|Kundennummer| 
-| #LI#  |Lieferinfotext|  +|#​LS#​|Letzter Serviceeinsatz (Datum)| 
-| #​TA#​ |Liefertermin avisiert|  +|#​LI#​|Lieferinfotext|  
-| #​MD#​ |Meldedatum des Servicefalls|  +|#​TA#​|Liefertermin avisiert|  
-| #SN# |Name des Stellplatzes (Adresse)|  +|#​MD#​|Meldedatum des Servicefalls|  
-| #SO# |Ort des Stellplatzes (Adresse)|  +|#SN#|Name des Stellplatzes (Adresse)|  
-| #SZ# |PLZ des Stellplatzes (Adresse)|  +|#SO#|Ort des Stellplatzes (Adresse)|  
-| #PW# |Preis pro Arbeitswert|  +|#SZ#|PLZ des Stellplatzes (Adresse)|  
-| #​PWF#​ |Preis pro Arbeitswert Fahrtzeit|  +|#PW#|Preis pro Arbeitswert|  
-| #PK# |Preis pro km|  +|#​PWF#​|Preis pro Arbeitswert Fahrtzeit|  
-| #PS# |Preis pro Stunde| +|#PK#|Preis pro km|  
-| #PSR# |Preis pro Stunde rabattiert|  +|#PS#|Preis pro Stunde| 
-| #​PSF#​ |Preis pro Stunde Fahrtzeit |  +|#​PSR#​|Preis pro Stunde rabattiert|  
-| #​PSFR#​|Preis pro Stunde Fahrtzeit rabattiert| +|#​PSF#​|Preis pro Stunde Fahrtzeit |  
-| #​PWFR#​|Preis pro Arbeitswert Fahrtzeit rabattiert| +|#​PSFR#​|Preis pro Stunde Fahrtzeit rabattiert| 
-| #PWR# |Preis pro Arbeitswert rabattiert| +|#​PWFR#​|Preis pro Arbeitswert Fahrtzeit rabattiert| 
-| #​RT#​ |Reaktionszeit|  +|#​PWR#​|Preis pro Arbeitswert rabattiert| 
-| #​RDT#​ |Rechnungsdatum|  +|#​RAB#​|Rabatt|  
-| #​RNR#​ |Rechnungsnummer|  +|#​RAB0#​|Rabatt mit Nullwertunterdrückung|  ​ 
-| #​SL#​ |Servicelevelagreement (Bezeichnung)|  +|#​RT#​|Reaktionszeit|  
-| #​ST#​ |Stellplatz der Maschine|  +|#​RDT#​|Rechnungsdatum|  
-| #​SR#​ |Straße des Stellplatzes (Adresse)|  +|#​RNR#​|Rechnungsnummer|  
-| #​SAR#​ |Stundenart ​(Stundensatz-Bezeichnung)|  +|#​SL#​|Servicelevelagreement (Bezeichnung)|  
-| #​TN#​ |Technikername|  +|#​ST#​|Stellplatz der Maschine|  
-| #​TL#​ |Telefon Ansprechpartner des Stellplatzes|  +|#​SR#​|Straße des Stellplatzes (Adresse)|  
-| #​AT#​ |Telefon des Ansprechpartners|  +|#​SAR#​|Stundenart|  
-| #​TL#​ |Telefon des Stellplatzes|  +|#​TN#​|Technikername|  
-| #VM# |Verkaufsdatum Maschine+|#​TL#​|Telefon Ansprechpartner des Stellplatzes|  
-| #US |Unterbearbeitungsstatus+|#​AT#​|Telefon des Ansprechpartners|  
-| #VA#  |Vertragartnummer| +|#​TL#​|Telefon des Stellplatzes| 
-| #VZ#  |Vertragartbezeichnung|  +|#US#|Unterbearbeitungsstatus|  
-| #VR#  |Vertragsbemerkung| +|#VM#|Verkaufsdatum Maschine
-| #​VN#​ |Vertragsnummer|  +|#​VA#​|Vertragartnummer| 
-| #VS#  |Vertragsstatus|  +|#​VZ#​|Vertragartbezeichnung|  
-| #​VG#​ |Vorgangsnummer|  +|#​VR#​|Vertragsbemerkung| 
-| #VT#  |Vorgangstitel|  +|#​VN#​|Vertragsnummer|  
-| #ZV#  |Zusatzvorgangsart| +|#​VS#​|Vertragsstatus|  
 +|#​VG#​|Vorgangsnummer|  
 +|#​VT#​|Vorgangstitel|  
 +|#​ZV#​|Zusatzvorgangsart|
   
   
Zeile 87: Zeile 103:
   
   
-| #RAB# |Rabatt ​  ​|  + |
-| #RAB0# |Rabatt mit Nullwertunterdrückung ​  | +
  
-====== Platzhalter für Maschinenkomponenten ​======+===== Platzhalter für Maschinenkomponenten =====
  
 Beschränkungen:​ max. 10 möglich (x läuft von 0 bis 9) Beschränkungen:​ max. 10 möglich (x läuft von 0 bis 9)
Zeile 98: Zeile 113:
 |#​KxHA#​ |Herstellerartikelnummer der Komponente ​  |  |#​KxHA#​ |Herstellerartikelnummer der Komponente ​  |
 |#​KxKA#​ |Komponentenartikelnummer |                                                                        |#​KxKA#​ |Komponentenartikelnummer |                                                                       
-|#​KxAB|Komponentenartikelbezeichnung ​  | +|#KxAB#|Komponentenartikelbezeichnung ​  |
 |#KxAD# |Komponentenausbaudatum ​  | |#KxAD# |Komponentenausbaudatum ​  |
 |#KxRM# |Komponentenbemerkung ​  | |#KxRM# |Komponentenbemerkung ​  |
 |#KxED# |Komponenteneinbaudatum ​  |  |#KxED# |Komponenteneinbaudatum ​  |
 |#​KxME#​ |Komponentenmenge ​  |  |#​KxME#​ |Komponentenmenge ​  |
-|#KxSE# |Komponentenseriennummer ​ | +|#KxSE# |Komponentenseriennummer ​ | 
 +|#KMNA# |Kundenmaschinenname ​ |  
 +|#KMN# |Kundenmaschinennummer ​ |
  
  
  
-======Platzhalter für die Vertragsabrechnung======+===== Platzhalter für die Vertragskalkulation ​===== 
 + 
 +i=1,2,3 für Zähler1, Zähler2, Zähler3 
 + 
 +^Platzhalter^ Bedeutung | 
 +|#​Zaehler{i}Bez#​ |Bezeichnung des Zählers |  
 +|#​Zaehler{i}Freikopien#​ |Freikopien des Zählers |  
 +|#​Zaehler{i}Klickpreis#​|Festgelegter Klickpreis des Zählers | 
 +|#​Zaehler{i}Intervall#​|Intervalldauer des Zählers | 
 +|#​MietePlusWartungRate#​|Rate bestehend aus Miete und Wartung | 
 +|#​GesamtRate#​|Gesamtrate | 
 +|#​WartungExtra1Name#​| Name der Extra-Wartungskosten 1| 
 +|#​WartungExtra1Rate#​| Rate der Extra-Wartungskosten 1 | 
 +|#​WartungExtra2Name#​| Name der Extra-Wartungskosten 2| 
 +|#​WartungExtra2Rate#​| Rate der Extra-Wartungskosten 2| 
 +|#​Laufzeit#​|Laufzeit | 
 +|#​MietRate#​|Rate ​für die Miete | 
 +|#​WartungRate#​|Rate für die Wartung | 
 +|#​AuftragsWert#​|Auftragswert | 
 +|#​MietIntervall#​| Dauer Mietintervall| 
 +|#​WartungIntervall#​| Dauer Wartungsintervall| 
 + 
 +=====Platzhalter für die Vertragsabrechnung=====
  
 ^Platzhalter^ Bedeutung | ^Platzhalter^ Bedeutung |
Zeile 117: Zeile 156:
 | #​GPB#​ |Bruttobetrag des Platzhalters #GP#  |  | #​GPB#​ |Bruttobetrag des Platzhalters #GP#  |
 | #​ZSB#​ |Bruttobetrag des Platzhalters #ZS#  |  | #​ZSB#​ |Bruttobetrag des Platzhalters #ZS#  |
-| #AZ# |Der Text mit Angabe des Abrechnungszeitraumes wird im Textbaustein angegeben und nicht im Feld //​ExtraText//​ der Drucktabelle (des Reports) ​ |  +| #AZ# |Der Text mit Angabe des Abrechnungszeitraumes wird im Textbaustein angegeben und nicht im Feld //​ExtraText//​ der Drucktabelle (des Reports) ​|  
-| #AU# |Der Text mit Angabe des Abrechnungszeitraumes wird unterdrückt(im Textbaustein und im Feld //​Extratext//​ des Reports). ​ | +| #AU# |Der Text mit Angabe des Abrechnungszeitraumes wird unterdrückt (im Textbaustein und im Feld //​Extratext//​ des Reports). ​ |
 | #​EB#​ |Erlösbezeichnung ​ |  | #​EB#​ |Erlösbezeichnung ​ |
 | #​GPM#​ |Fällige Mehrwertsteuer des Platzhalters #GP#  |  | #​GPM#​ |Fällige Mehrwertsteuer des Platzhalters #GP#  |
Zeile 128: Zeile 167:
 | #​GP#​ |Grundpreis (=Pauschale) ​ |  | #​GP#​ |Grundpreis (=Pauschale) ​ |
 | #​GW#​ |Grundwert GP * GM  |  | #​GW#​ |Grundwert GP * GM  |
-| #AG# |In Anspruch genommener Guthabensbetrag aus Kopienguthaben. Der Vertrag so konfiguriert sein, daß Guthabenbildung möglich ist.  | +| #AG# |In Anspruch genommener Guthabensbetrag aus Kopienguthaben. Der Vertrag so konfiguriert sein, dass Guthabenbildung möglich ist.  |
 | #​EK#​ |Kopien auf Ersatzgeät (Nullwerte werden unterdrückt) ​ |  | #​EK#​ |Kopien auf Ersatzgeät (Nullwerte werden unterdrückt) ​ |
-| #​XK#​ |Leerzeichen-Platzhalter für Anzahl Kopien, macht soviele Spaces wie für Anzahl Kopien verbraucht werden ​ |  +| #​XK#​ |Leerzeichen-Platzhalter für Anzahl Kopien, macht soviele Spaces wie für Anzahl Kopien verbraucht werden ​|  
-| #​XP#​ |Leerzeichen-Platzhalter für Anzahl Kopien, macht soviele Spaces wie für Kopienpreis verbraucht werden ​ |  +| #​XP#​ |Leerzeichen-Platzhalter für Anzahl Kopien, macht soviele Spaces wie für Kopienpreis verbraucht werden ​|  
-| #MB# |Maschinenartikel-Bezeichnung ​ | +| #MB# |Maschinenbezeichnung ​ |
 | #​MM#​ |Maschinennummer der Maschine ​ |  | #​MM#​ |Maschinennummer der Maschine ​ |
 | #​KR#​ |Mindestkopien (Freikopien) bei entspr. Ertragsart = Grundmenge ​ |  | #​KR#​ |Mindestkopien (Freikopien) bei entspr. Ertragsart = Grundmenge ​ |
Zeile 179: Zeile 218:
 </​code>​ </​code>​
  
-====== Textbausteine in der Vertragsabrechnung ​======+ 
 + 
 +==== Textbausteine in der Vertragsabrechnung ====
  
  
Zeile 221: Zeile 262:
 Findet das Programm keinen Textbaustein,​ so wird die Bezeichnung des Erlösartikels verwendet. Findet das Programm keinen Textbaustein,​ so wird die Bezeichnung des Erlösartikels verwendet.
  
-====== Platzhalter für Maschineninformationen ​======+===== Platzhalter für Maschineninformationen =====
 //(Druck von Lieferscheinen,​ Rechnungen)// ​ //(Druck von Lieferscheinen,​ Rechnungen)// ​
  
 ^Platzhalter^ Bedeutung | ^Platzhalter^ Bedeutung |
 | #​MA#​ |Artikelnummer der Maschine ​ |  | #​MA#​ |Artikelnummer der Maschine ​ |
-| #​GD#​ |Garantiedatum der Maschine ​ | +| #​GD#​ |Garantiedatum der Maschine ​ |  
 +| #​GH#​ |Garantiedatum Hersteller der Maschine ​  |
 | #​MM#​ |Maschinennummer der Maschine |  | #​MM#​ |Maschinennummer der Maschine |
 | #​SE#​ |Seriennummer der Maschine ​  |  | #​SE#​ |Seriennummer der Maschine ​  |
  
  
-====== Platzhalter für die Zählerstandsabfragen ​======+===== Platzhalter für die Zählerstandsabfragen =====
  
-Es gelten die selben Platzhalter wie unter [[vertraege:platzhalter#​platzhalter_fuer_die_vertragsabrechnung|Platzhalter für die Vertragsabrechnung]] aufgeführt.+Es gelten die selben Platzhalter wie unter [[platzhalter|Platzhalter für die Vertragsabrechnung]] aufgeführt.
  
-======= ​Weitere ​Platzhalter ========+===== Platzhalter für Tätigkeiten ​===== 
 + 
 +Platzhalter ​Langtext Tätigkeit:​ 
 + 
 +Berechnete Arbeitszeit 
 +        Private Const _PlatzhalterBerechneteArbeitszeit ​"#​RZ#"​ 
 +        Private Const _PlatzhalterBerechneteArbeitszeit0 ​"#​RZ0#"​ 
 +  
 +Berechnete Arbeitswerte 
 +        Private Const _PlatzhalterBerechneteArbeitswerte = "#​RW#"​ 
 +        Private Const _PlatzhalterBerechneteArbeitswerte0 = "#​RW0#"​ 
 +  
 +Berechnete Fahrtzeit 
 +        Private Const _PlatzhalterBerechneteFahrtzeit = "#​RF#"​ 
 +        Private Const _PlatzhalterBerechneteFahrtzeit0 = "#​RF0#"​ 
 + 
 +Berechnete Arbeitswerte Fahrtzeit 
 +        Private Const _PlatzhalterBerechneteArbeitswerteFahrtzeit = "#​RWF#"​ 
 +        Private Const _PlatzhalterBerechneteArbeitswerteFahrtzeit0 = "#​RWF0#"​ 
 +  
 +Kilometer 
 +        Private Const _PlatzhalterBerechneteteKm = "#​RK#"​ 
 +        Private Const _PlatzhalterBerechneteteKm0 = "#​RK0#"​ 
 +        Private Const _PlatzhalterGefahreneKm = "#​GK#"​ 
 +        Private Const _PlatzhalterGefahreneKm0 = "#​GK0#"​ 
 +  
 +Platzhalter für geleistete Zeiten (geleistete Kilometer gibt es schon: _PlatzhalterGefahreneKM) 
 +        Private Const _PlatzhalterGeleisteteArbeitszeit = "#​GZ#"​ 
 +        Private Const _PlatzhalterGeleisteteArbeitswerte = "#​GW#"​ 
 +        Private Const _PlatzhalterGeleisteteFahrtzeit = "#​GF#"​ 
 +        Private Const _PlatzhalterGeleisteteArbeitswerteFahrtzeit = "#​GWF#"​ 
 +  
 +Stundensätze 
 +        Private Const _PlatzhalterPreisProStunde = "#​PS#"​ 
 +        Private Const _PlatzhalterPreisProStundeRabattiert = "#​PSR#"​ 
 +        Private Const _PlatzhalterPreisProStundeFahrtzeit = "#​PSF#"​ 
 +        Private Const _PlatzhalterPreisProStundeFahrtzeitRabattiert = "#​PSFR#"​ 
 +        Private Const _PlatzhalterPreisProArbeitswert = "#​PW#"​ 
 +        Private Const _PlatzhalterPreisProArbeitswertRabattiert = "#​PWR#"​ 
 +        Private Const _PlatzhalterPreisProArbeitswertFahrtzeit = "#​PWF#"​ 
 +        Private Const _PlatzhalterPreisProArbeitswertFahrtzeitRabattiert = "#​PWFR#"​ 
 +  
 +Kilometersatz 
 +        Private Const _PlatzhalterPreisProKm = "#​PK#"​ 
 +  
 +Rabatt 
 +        Private Const _PlatzhalterRabatt = "#​RAB#"​ 
 +        Private Const _PlatzhalterRabatt0 = "#​RAB0#"​ 
 +  
 +Weitere 
 +        Private Const _PlatzhalterDauerProArbeitswert = "#​DA#"​ 
 +        Private Const _PlatzhalterTechnikerName = "#​TN#"​ 
 +        Private Const _PlatzhalterBemerkung = "#​BM#"​ 
 +        Private Const _PlatzhalterStundenart = "#​SAR#"​ 
 +        Private Const _PlatzhalterMaschineFehlerText = "#​FT#"​ 
 +===== Weitere Platzhalter ​======
  
 Platzhalter für Kopf und Fusstexte in den Textbausteinen finden Sie [[vorgaenge:​kopf-und_fusstext|hier]]. Platzhalter für Kopf und Fusstexte in den Textbausteinen finden Sie [[vorgaenge:​kopf-und_fusstext|hier]].
Zeile 241: Zeile 338:
 Platzhalter für die Disposition-Serviceaufträge finden Sie [[disposition-service:​disposition-service|hier]]. Platzhalter für die Disposition-Serviceaufträge finden Sie [[disposition-service:​disposition-service|hier]].
  
-Platzhalter für die Emailerstellung ​finden Sie [[aktivitaeten:​aktivitaeten_email|hier]].+Platzhalter für den E-Mail-Versand der Vorgangsdokumente finden Sie [[vorgaenge:​emailversand|hier]]. 
 + 
 +Platzhalter für die Benachrichtigungsmail beim Erstellen einer Aktivität ​finden Sie [[aktivitaeten:​aktivitaeten_email|hier]].
  
 {{tag>​Vertraege Vertragsabrechnung Textbausteine Platzhalter}} {{tag>​Vertraege Vertragsabrechnung Textbausteine Platzhalter}}
  
platzhalter.1541703275.txt.gz · Zuletzt geändert: 2018/11/08 19:54 von sk
CC Attribution-Noncommercial-Share Alike 3.0 Unported
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0