Begriff |
XML-Document-Transform |
Abkürzung |
XDT |
Synonyme/Aliase |
|
Erläuterung des Begriffs
XML-Document-Transform
XML-Document-Transform (XDT) ist eine Sprache für einfache Transformationen in XML-Dokumenten. Microsoft verwendet XDT für das Abänderungen von Konfigurationseinstellungen im Rahmen der Verbreitung ("Deployment") von .NET-Webanwendungen.
Beim Installieren von Anwendungen ist die Regel, das auf dem Zielsystem anderen Konfigurationseinstellungen als auf dem Entwicklersystem gelten (z.B. Datenbankverbindungen). Microsoft bietet (derzeit nur für Webanwendungen) eine Möglichkeit, die in den XML-Konfigurationsdateien (web.config) gespeicherten Konfigurationsinformationen automatisiert abzuändern im Zuge der Erstellung eines Deploymentpakets ab Visual Studio 2010.
Die beim Installieren des Deployment-Pakets angegebenen Verbindungszeichenfolgen dienten nur dazu, die Datenbankskripte während der Installation auszuführen. Die in der web.config-Datei hinterlegten Verbindungszeichenfolgen bleiben unberührt. Um diese anzupassen, muss man in Visual Studio zusätzlich sogenannte "Konfigurationsdateitransformationen" anlegen. In einer Konfigurationsdateitransformationen legt man fest, welche Teile der Konfiguration beim Verbreiten ersetzt, gelöscht und ergänzt werden sollen.
Microsoft verwendet hierfür nicht die XML Stylesheet Transformations (XSLT), sondern eine eigene XML-basierte Syntax, die Microsoft XML-Document-Transform (XDT) nennt.
Syntax
Die Syntax der Transformationsdateien besteht aus zwei Arten von Befehlen: Locators und Transformers.
Xdt:Locator="Match(xy)"
Finde ein Element, das ein Attribut xy besitzt mit dem gleichen Inhalt
xdt:Locator="Condition(@x=’a' or @y=’b’)"
Finde ein Element innerhalb des aktuellen Elements, das auf den Xpath-Ausdruck zutrifft
xdt:Locator="Xpath(//a/b)"
Finde ein Element global im Dokument, das auf den Xpath-Ausdruck zutrifft
xdt:Transform="Replace"
Erstetzt das erste passende Element
xdt:Transform="Remove"
Entfernt das erste passende Element
xdt:Transform="RemoveAll"
Entfernt alle passenden Elemente
xdt:Transform="Insert"
Füge ein Element ein
xdt:Transform="SetAttributes(x)"
Setzt einen Attributwert für Attribut x
xdt:Transform="RemoveAttributes(x,y,z)"
Entfernt die drei Attribute x, y und z
xdt:Transform="InsertAfter(/m/n/[@x='a'])”
Ergänzt das Element nach dem durch den X-Path-Ausdruck
festgelegten Element
xdt:Transform="InsertBefore(/m/n/[@x='a'])"
Ergänzt das Element vor dem durch den X-Path-Ausdruck festgelegten Element
Beispiel
Das folgende Listing zeigt an drei Beispielen die typischen Aktionen:
- Entfernen eines Attributs (hier: Debug="true")
- Hinzufügen eines XML-Elements (hier: <customErrors>)
- Ersetzen eines XML-Elements (hier: <connectionStrings><add>)
<?xml version="1.0"?>
<configuration xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform">
<system.web>
<!-- Entferne Debug-Attribut -->
<compilation xdt:Transform="RemoveAttributes(debug)" />
<!-- Ergänze Umlenkung für Statuscode 500 -->
<customErrors defaultRedirect="GenericError.htm"
mode="RemoteOnly" xdt:Transform="Replace">
<error statusCode="500" redirect="InternalError.htm"/>
</customErrors>
</system.web>
<connectionStrings>
<!-- Setzte Verbindungszeichenfolge -->
<add name="WWWings6EF" connectionS-tring="metadata=res://*/Entity Framework.EFModell.csdl|res://*/Entity Framework.EFModell.ssdl|res://*/Entity Framework.EFModell.msl;provider=System.Data.SqlClient;provider connection string="Data Sour-ce=.\sqlexpress;Initial Catalog=WWWings6_Produktion;Integrated Securi-ty=True;MultipleActiveResultSets=True"" providerName="System.Data.EntityClient" xdt:Transform="Replace" xdt:Locator="Match(name)"/>
</connectionStrings>
</configuration>
Listing: Web.Release.config
Querverweise zu anderen Begriffen im Lexikon
Verbindungszeichenfolge System.Data.SqlClient Konfigurationsdatei Visual Studio 2010 Connection String Microsoft XML EntityClient System.Data web.config System.Web Dokumente Datenbank Attribut Generic
|
Dienstleistungen:
Beratung/Consulting zu XML-Document-Transform
Support zu XML-Document-Transform
Schulungen zu diesem Thema:
In unserem umfangreichen Schulungsmodulkatalog haben wir keinen Eintrag zum Thema XML-Document-Transform gefunden. Das heißt aber nicht, dass wir Ihnen keine Schulung dazu anbieten können! ggf. ist dieses Stichwort anders in unserem Katalog erfasst. Selbst wenn das Thema bisher nicht in unserem Katalog erscheint, können wir dazu über Partner Schulungen anbieten. Bitte stellen Sie eine unverbindliche Seminaranfrage oder rufen Sie uns an unter +49 201 7490700!
|