XML-Scripting mit XSLT für SysAdmins



Ähnliche Dokumente
Start des Programms mit zwei Parametern: 1. XML-Datei mit den zu verarbeitenden Eingabedaten, 2. XML-Datei mit der Programmkonfiguration

UnivIS ein Informationssystem für Hochschulen

Themen. Apache Webserver Konfiguration. Verzeichnisse für Web-Applikationen. Server Side Includes

Verwaltungsaufgaben lösen mit XML und L A T E X

XSL Templates. Mit Templates arbeiten. XSL Templates

Reimo Fachhändlerbereich Import Datei

Projektseminar "Texttechnologische Informationsmodellierung"

XML-Praxis. XML-Anwendungen. Jörn Clausen

Apache HTTP-Server Teil 1

Apache HTTP-Server Teil 1

DynDNS für Strato Domains im Eigenbau

DNS Server einrichten unter Debian Linux. DHCP Server einrichten unter Debian Linux. Querschnittsaufgaben.

DNS und Sicherheit. Domain Name System. Vortrag von Ingo Blechschmidt

ViMP 3.0. SSL Einrichtung in Apache 2.2. Verfasser: ViMP GmbH

DNS Server - Fedorawiki.de

XSL und XSLT. Inhalt. Mathias Heilig XSL Übersicht. Formatierungsprozess. Sprachbeschreibung. Vorführung Resümee

Schwerpunkt Konfiguration.htaccess Version 2.2.x

Duale Zustellung. Standardprofile. Version 1.0.0, DI Arne Tauber

Benutzerhandbuch. DNS Server Administrationstool. Für den Server: dns.firestorm.ch V

IT-Zertifikat: Daten- und Metadatenstandards. Transformation von XML-Dokumenten mit XSLT (und XPATH) XSLT kurz und knackig. XSLT und die Praxis

Komplexe Transformationen mit XSLT

Transformation von XML-Dokumenten. IDE SummerSchool 2013, Chemnitz

Modellgetriebene Service-Entwicklung

XSLT Vortrag. 2. Beispiel XML. 3. Anwendungsmöglichkeiten von XSLT 4. XHTML

Extensible Stylesheet Language Transformations XSLT

Seminar: HPSTS-5 Advanced Cognitive Research. Cognitive Load Theory

Diazo. XSLT basiertes Website Theming. Maik Derstappen Inqbus GmbH & Co. KG maik.derstappen@inqbus.de

SCADA SOFT AG. Technische Fragen zu Wizcon (TFW035): Installation von Apache 1.3.x / 2.0.x

Auto-Provisionierung tiptel 30x0 mit Yeastar MyPBX

ACCOUNTINFO 1.01 VERWENDEN DER ACCOUNTINFO-SCHNITTSTELLE ABFARGE VON ACCOUNT-INFORMATIONEN IN ECHTZEIT 02. MÄRZ 2010

Domain Registration Robot mit E Mail

Dokumentation von Software

Metadaten bei der Digitalisierung von analogen archivalischen Quellen. Kathrin Mileta, Dr. Martina Wiech

DNS mit Bind9 von Martin Venty Ebnöther

Javadoc. Programmiermethodik. Eva Zangerle Universität Innsbruck

State Machine Workflow mit InfoPath Formularen für SharePoint 2010 Teil 6

Grundlagen der Extensible Stylesheet Language

HTTP-Server. Frank Wübbeling Universität Münster

Wie lege ich Domains unter Windows 2000 Server an? Keyweb AG

Comparing Software Factories and Software Product Lines

Ablösung von Control-M durch JobScheduler

GeoShop BatchClient Benutzerhandbuch

XML Signature Wrapping: Die Kunst SAML Assertions zu fälschen. 19. DFN Workshop Sicherheit in vernetzten Systemen Hamburg,

Stecken Sie Ihren USB Stick oder Ihre externe USB Festplatte in den USB Steckplatz des Sinus 154 DSL SE.

Adminer: Installationsanleitung

Linux 08. Linux WS 04/05 by DNS - named: in /etc/named.conf. DNS Top-Level-DNS

How to do? Projekte - Zeiterfassung

TRANSCONNECT. Webschnittstellen für die Cloud, IoT & Co.

Step by Step VPN unter Windows Server von Christian Bartl

Software Engineering II

Smap3D PDM 10. Installation. Stand-Alone-Migration-Analyzer

Eine Schnelleinführung in XSL

Die Technologie der Mumie

DOMAIN NAME SYSTEM (DNS) JULIA KRISCHIK, INTERNETPROTOKOLLE WS 2012/13

XSLT XSL Transformations

IT. Menschen. Leidenschaft. Fallbeispiel - Recovery NGZ. (1)

:: Anleitung Migration Outlook 2010/2013/2016 ::

Zugriff auf Daten der Wago über eine Webseite

.NET Code schützen. Projekt.NET. Version 1.0

Dokumentation. estat Version 2.0

Outlook Express. 1. Schritt: Klicken Sie im Hauptfenster von Outlook Express bitte auf -Konto erstellen...

Dokumentieren mit Eclipse und Doxygen

impact ordering Info Produktkonfigurator

Spezifikation DPD. Modul B2C-Reifenversand Gültig für Paketversender in Österreich. Version 3.3.0

Spezifikation DPD. Modul Abholauftrag Gültig für Paketversender in Österreich. Version 3.3.0

IIS 7.5 mit Exchange Server 2010 OWA FBA Intern und Extern ueber Forefront TMG

Sie befinden sich hier: WebHosting-FAQ & Unified Messaging -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Konfiguration von Web Services zur Ausführung von Jobs

Gezielt über Folien hinweg springen

Informationsaustausch mit StratOz ZUGVoGEL. Formatunabhängig, modular, clever.

Pflichtenheft. CDIX-Roles. Erweiterung des CDIX Berechtigungssystems. Autor : CD Software GmbH. Copyright CD Software GmbH Version:

1&1 Webhosting FAQ Outlook Express

Einführung Architektur - Prinzipien. Ronald Winnemöller Arbeitsgruppe VCB Regionales Rechenzentrum Universität Hamburg

Verwaltungsgeschichte

Relaunch der PI3-Website

tubit Stammtisch Das neue Webkonzept - Migration und neue Auftritte

DNS Grundlagen. ORR - November jenslink@quux.de. DNS Grundlagen 1

Sie befinden sich hier: WebHosting-FAQ -Clients - Einrichtung und Konfiguration Outlook Express Artikel #1

Transition vom heutigen Internet zu IPv6

Änderungen im Vertrags-Manager

SAS Metadatenmanagement Reporting und Analyse

Hinweise für die Nutzung von XSLTs beim PDF Export der BlueBridge Wiki Extensions

Multimedia Technologie II

Was ist PDF? Portable Document Format, von Adobe Systems entwickelt Multiplattformfähigkeit,

Workshop: Eigenes Image ohne VMware-Programme erstellen

SCHULER WEBSITE - EINKAUF DOKUMENTE EINSTELLEN & AKTUALISIEREN

XML-Namensräume. Marc Monecke

Kontoname ist Mailanschrift Maximale Mailboxgrösse: Maximale Nachrichtengrösse: Haltezeit der Nachrichten:

Programm GArtenlisten. Computerhinweise

Windows Installer Xml - Overview. Jan Zieschang, , Berlin

Online-Publishing mit HTML und CSS für Einsteigerinnen

Transkript:

XML-Scripting mit XSLT für SysAdmins Gerd Aschemann 01.03.2002 GUUG FFG 2002, Bochum Konventionelle Konfigurationsdateien test.cno:testacc home.test.cno:testacc <VirtualHost www.test.cno> ServerAdmin testacc@test.cno ServerName www.test.cno DocumentRoot /web/test.cno/web/www/htdocs $TTL 1D @ IN SOA ns0.test.cno. hostmaster.test.cno. ( 2002022704 ; Serial 8H ; Refresh 2H ; Retry MX 20 mailbackup.test.cno. test.cno. A 10.13.08.15 mailbackup A 10.08.15.13 2

Zukünftige Konfigurationsdatei(en) <zone> <domain>test.cno</domain> <user><short>ta</short>testacc</user> <mx> <prio>20</prio> <host>mailbackup</host> </mx> <a> <a> <host>test.cno.</host> <host likedomain=true()/> <ip>10.13.08.15</ip> <ip>10.13.08.15</ip> </a> </a> <cname http='true()'> <name>www</name> <host>home</host> </cname> 3 Motivation Endziel: Viele konventionelle Konfigurationsdateien mit vielen verschiedenen Formaten und redundanten Informationen durch eine einzige Konfigurationsdatei ersetzen. Zwischenschritt: Aus einer Quelle verschiedene Ziele (mit gleichen Informationen) generieren Redundanz (mehrfacher Pflegeaufwand) vermeiden dadurch Fehlerhäufigkeit verringern Informationen für zukünftige weitere Verarbeitungsschritte, z.b. Dokumentation, bereitstellen. 4

Realisierung: XML + XSL(T), Beispiel 1: virtualdomains <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/xsl/transform"> <xsl:output method="text" encoding="iso-8859-1" indent="no"/> <xsl:template match="zone"> <xsl:value-of select="domain"/>:<xsl:value-of select='user/text()'/> <!-- Provide an empty line in the output --> <xsl:text> <xsl:template match="a"> </xsl:text> <xsl:if test="substring(host/.,string-length(host/.))!= '.'"> <xsl:apply-templates select="a"/> <xsl:value-of select='host'/>. <xsl:apply-templates select="cname"/> <xsl:value-of select='../domain'/>: <xsl:value-of select='../user/text()'/><xsl:text></xsl:text> </xsl:if> 5 Beispiel 2: httpd.conf <xsl:stylesheet version="1.1" xmlns:xsl="http://www.w3.org/1999/xsl/transform" xmlns:saxon="http://icl.com/saxon" saxon:trace="no" extension-element-prefixes="saxon"> Verwendung von Saxon wg. bestimmter Eigenschaften aus XSL 2, s.u. <xsl:import href="../site/site-defs.xsl"/> Modularisierung <xsl:template match="zone"> <xsl:apply-templates select="cname[@http]"/> <xsl:apply-templates select="a[@http]"/> 6

Beispiel 2: httpd.conf (2) <xsl:template match="zone/cname[@http]"> <xsl:variable name="servername"> <xsl:value-of select="name"/>.<xsl:value-of select="/zone/domain"/> </xsl:variable> <saxon:output method="text" href="httpdinc/{$servername}.inc" encoding="iso-8859-1"> Saxon: Ausgabe in Datei, in XSL 2.0? <xsl:document <xsl:call-template name="virtualhost"/> </saxon:output> Funktionen (ggf. mit Parametern). 7 Beispiel 2: httpd.conf (3) <xsl:template name="virtualhost"> <VirtualHost <xsl:value-of select='name'/>.<xsl:value-of select='/zone/domain'/>> ServerAdmin <xsl:value-of select='/zone/user'/>@<xsl:value-of select='/zone/domain'/> ServerName <xsl:value-of select='name'/>.<xsl:value-of select='/zone/domain'/> DocumentRoot <xsl:call-template name="webserver-rootdir"/>/htdocs ErrorLog <xsl:call-template name="webserver-rootdir"/>/logs/error_log TransferLog <xsl:call-template name="webserver-rootdir"/>/logs/access_log <Directory /> Options -FollowSymLinks AllowOverride None </Directory> 8

Beispiel 3: dns.zone <xsl:template match="zone"> ; THIS FILE IS GENERATED AUTOMATICALLY; DO NOT EDIT!!! ; (XSL: $Id: xml2dnszone.xsl,v 1.11 2002/01/30 23:31:51 ascheman Exp $) ; ; <xsl:value-of select='domain'/> zone lookup ; ; <xsl:value-of select='revision'/> / <xsl:value-of select='date'/> $TTL 1D @ IN SOA <xsl:call-template name="soa-origin"/> hostmaster. <xsl:value-of select='domain'/>. ( Woher kommt die Seriennummer? <xsl:text> ; <xsl:value-of select="$serial"/> 8H 2H 1W ; Refresh ; Retry ; Expire 1D) ; Minimum TTL ; Serial Lösung: Externe Berechnung Kein XSL(T)/XML sondern perl 9 Zusammenfassung Pro: Single Source Keine Redundanzen Regelbasierte Templatebeschreibung Modularisierung/Portierbarkeit durch Auslagerung Sitespezifischer Anteile Leichte (?) Erweiterbarkeit durch Anpassung des Schemas Contra: Unübersichtliche Syntax, insb. bei XML-artigen Zieldokumenten Keine (komplexen) Berechnungen Verteilung des Modells auf mehrere Eingabedateien? Informationsmodell, aber kein Kommunikationsmodell und kein fixes Berechenbarkeitsmodell!!! 10

Ausblick Zukünftig nur noch eine einzige Konfigurationsdatei Beschränkung auf eine Syntax (Benutzer + Werkzeuge) Einfache Weiterverarbeitung der Informationen Transformation und Kommunikation der Informationen zu beliebigen Zielen 11