Proces transformacji szablonu tekstowego
Proces transformacji tekst szablonu zajmuje plik szablonu tekst jako dane wejściowe i generuje nowy plik tekstowy jako dane wyjściowe.Na przykład można użyć tekstu szablonów do generowania kodu języka Visual Basic lub języka C# lub można wygenerować raport w formacie HTML.
Trzy składniki brać udział w tym procesie: silnika, host a dyrektywa procesorów.Silnik kontroluje procesu; liczbą interakcji z hosta i dyrektywa procesora do utworzenia pliku wyjściowego.Host udostępnia żadnych interakcji ze środowiskiem, takich jak lokalizowanie plików i zestawów.Procesor w dyrektywie dodaje funkcje, takie jak Odczyt danych z pliku XML lub bazy danych.
Proces transformacji szablonu tekstu jest wykonywane w dwóch etapach.Po pierwsze silnik tworzy tymczasowej klasy jest znany jako klasa generowanych transformacji.Ta klasa zawiera kod, który jest generowany przez dyrektywy i bloki kontrolne.Po tym silnik skompilowany i wykonany klasy generowane transformacji do utworzenia pliku wyjściowego.
Składniki
Składnik |
Opis |
Można dostosowywać (tak/nie) |
---|---|---|
Silnik |
Składnik silnika kontroluje procesu transformacji tekst szablonu |
Nie. |
Host |
Host jest interfejs między silnikiem a środowiska użytkownika.Visual Studiojest hostem tekst procesu transformacji. |
Tak.Można napisać niestandardowy hosta. |
Dyrektywa procesorów |
Dyrektywa procesory są klas, które obsługują dyrektyw w szablonach tekst.Za pomocą dyrektyw do dostarczania danych do szablonu tekst ze źródła danych wejściowych. |
Tak.Można napisać niestandardowy procesorów w dyrektywie |
Silnik
Silnik odbiera szablonu jako ciąg znaków z hosta, który obsługuje wszystkie pliki, które są używane w procesie transformacji.Silnik zwraca następnie hosta, aby zlokalizować żadnych niestandardowych procesorów w dyrektywie i innych aspektów środowiska naturalnego.Silnik następnie kompiluje i uruchamia klas generowanych transformacji.Silnik zwraca wygenerowany tekst do hosta, który zwykle zapisuje tekst do pliku.
Host
Host jest odpowiedzialny za wszystko, co odnosi się do środowiska naturalnego poza procesu transformacji, w tym następujące:
Lokalizowanie tekst i pliki binarne wymagane przez silnik lub dyrektywie procesora.Host można przeszukiwać katalogi i globalna pamięć podręczna zestawów do lokalizowania zestawów.Host można zlokalizować kod niestandardowy procesora w dyrektywie dla silnika.Host również można zlokalizować i odczytać pliki tekstowe i zwracają ich zawartość jako ciągi znaków.
Zapewnienie list standardowych zestawów i przestrzenie nazw, które są używane przez aparat do tworzenia klas generowanych transformacji.
Dostarczanie domenę aplikacji jest używany, gdy silnik skompilowany i wykonany klas generowanych transformacji.Domeny osobny wniosek jest używany do ochrony aplikacji hosta z błędów w kodzie szablonu.
Zapisywanie pliku wygenerowanych danych wyjściowych.
Ustawienie domyślne rozszerzenie dla pliku wyjściowego wygenerowany.
Obsługa błędy w tekście szablonu transformacji.Na przykład hosta można wyświetlić błędy w interfejsie użytkownika lub zapisze je w pliku.(W Visual Studio, błędy są wyświetlane w oknie komunikatu o błędzie.)
Dostarczanie wartości wymaganego parametru, jeśli użytkownik ma dyrektywy o nazwie bez podania wartości.Dyrektywa procesora można określić nazwę tej dyrektywy, a parametr i poproś hosta, aby podać wartość domyślną, jeśli ma on jednego.
Dyrektywy i dyrektywy procesorów
Dyrektywa jest polecenie w szablonie tekstu.Zapewnia on parametry procesu wytwarzania.Zwykle dyrektyw określają źródło i typ modelu lub innych danych wejściowych i rozszerzenie nazwy pliku dla pliku wyjściowego.
Dyrektywa procesor może przetwarzać jeden lub więcej dyrektyw.Podczas transformacji szablon musi być zainstalowany w dyrektywie procesora, który może zajmować dyrektyw w szablonie.
Dyrektyw pracy przez dodanie kodu w klasie generowanych transformacji.Podczas tworzenia klasy generowane transformacji wywołania dyrektyw z szablonu tekstu i silnik przetwarza wszystkie wywołania w dyrektywie.Po wywołaniu dyrektywy pomyślnie, reszta kodu, napisany w szablonie tekstu może polegać na funkcjonalność, że dyrektywa stanowi.Na przykład, można wprowadzić następujące wywołanie do import dyrektywy w szablonie:
<#@ import namespace="System.Text" #>
Standard procesor dyrektywa konwertuje to using instrukcji w klasie generowanych transformacji.Następnie można użyć StringBuilder klasy w pozostałej części kodu szablonu bez kwalifikujących się go jako System.Text.StringBuilder.