Benutzerdefinierter Programmeinstieg zur Validierung von eingehendem übersetztem Inhalt
Der Programmeinstieg CustomXMLValidationHook kann den eingehenden übersetzten Inhalt, der von Übersetzungsanbietern geliefert wird, anhand einer XML-Datei validieren, bevor der Inhalt in Service Information Manager importiert wird. Wenn die Validierung erfolgreich ist, wird der Importvorgang fortgesetzt. Wenn die Validierung eine Ausnahme generiert, schlägt der Importvorgang im SIM Übersetzungsmodul fehl, und die Informationen in der Ausnahme werden der Importfehler-Protokolldatei hinzugefügt. Es wird nicht nur eine Ausnahme generiert, sondern der gesamte Inhalt des Übersetzungspakets wird nicht importiert, selbst wenn das Übersetzungspaket Dateien enthielt, die die CustomXMLValidationHook-Validierung möglicherweise bestanden haben.
Für die Implementierung dieses Programmeinstiegs müssen Sie die folgenden Informationen angeben:
• Status, bei dem der Prozess Übersetzungspakete importieren fehlschlagen soll: beim ersten XML-Validierungsfehler oder nach dem letzten XML-Validierungsfehler.
• Ob Fehlermeldungen für Dateien, für die die XML-Validierung fehlgeschlagen ist, in die Importprotokolldatei eingefügt werden sollen.
Im Prozess Übersetzungspakete importieren findet die Validierung durch CustomXMLValidationHook statt, nachdem das übersetzte Paket auf fehlerhafte XML-Dateiinhalte überprüft wurde, aber bevor der übersetzte Inhalt eingecheckt wird.
Schnittstelle
package com.ptc.tml.validation;
import java.io.InputStream;
/**The interface provides the custom XML validation service for the translation *contents. The interface receives the file name and input stream of the file which is to be validated for the XML and need to throw the exception to indicate the XML validation
*failure for given file. The implementation must state whether the Import Translation Process should fail if the first XML validation failure has *encountered or after the last XML validation failure. The implementation also needs to populate the error message
*for failed XML validation for logging purpose.
*/
public interface CustomXMLValidationHook {
/**
* @return boolean Boolean value to indicate whether the translation process should be failed when the first XML validation failure is encountered
*/
public boolean failOnFirstError();
/**
* @param fileName Name of file in the translation zip to validated for XML
* @param is InputStream of the file to be validated for XML
* @throws TranslationException
*/
public void validateXML (String fileName, InputStream is) throws TranslationException;
/**
* @return Error message to be logged for XML validation failures
*/
public String getErrorMessage();
}
Weitere Informationen finden Sie auch unter SampleCustomXMLValidationFailFastHookImpl.java und SampleCustomXMLValidationHookImpl.java; dies sind Beispielimplementierungen, die als Referenz bereitgestellt wurden. Sie stehen im Verzeichnis $WT_HOME\codebase\com\ptc\tml\sample zur Verfügung.
Registrierung
Führen Sie die folgenden Schritte aus, um die Änderungen nach translation.service.properties.xconf zu übertragen.
1. Erstellen Sie eine neue xonf-Datei unter <AnpassungStammverzeichnis>, die den entsprechenden neuen Wert für die Eigenschaft enthält:
<Service context="default"
name="com.ptc.tml.validation.CustomXMLValidationHook">
<Option serviceClass="YourCustomXMLValidationHookClassName"
selector="null"/>
</Service>