Bringing Procedural Knowledge to XLIFF Prof. Dr. Klemens Waldhör TAUS Labs & FOM University of Applied Science FEISGILTT 16 October 2012 Seattle, USA.

Slides:



Advertisements
Similar presentations
Web 2.0 Programming 1 © Tongji University, Computer Science and Technology. Web Web Programming Technology 2012.
Advertisements

PHP I.
XML-based Network Management Rob Enns
1 A Test Automation Tool For Java Applets Testing of Web Applications TATJA Program Demonstration Conclusions By Matthew Xuereb.
1 What is JavaScript? JavaScript was designed to add interactivity to HTML pages JavaScript is a scripting language A scripting language is a lightweight.
Enhancing Spotfire with the Power of R
TECH 2018 (Week 16) Topic: JavaScript Parminder Kang Home: Phones Off Please.
JavaScript FaaDoOEngineers.com FaaDoOEngineers.com.
1 COMM 1213 H1 COMP 4923 X1 JavaScript 1 (Readings: Ch. 10, 11 Knuckles)
Apache Struts Technology
The Web Warrior Guide to Web Design Technologies
Visual Web Information Extraction With Lixto Robert Baumgartner Sergio Flesca Georg Gottlob.
Russell Taylor Lecturer in Computing & Business Studies.
Introducing JavaBeans Identify the features of a JavaBean Create and add a bean to an application Manipulate bean properties using accessor and mutator.
TIBCO Designer TIBCO BusinessWorks is a scalable, extensible, and easy to use integration platform that allows you to develop, deploy, and run integration.
UNIT-V The MVC architecture and Struts Framework.
Overview of JSP Technology. The need of JSP With servlets, it is easy to – Read form data – Read HTTP request headers – Set HTTP status codes and response.
INTRODUCTION TO WEB DATABASE PROGRAMMING
Creating a Simple Page: HTML Overview
FALL 2005CSI 4118 – UNIVERSITY OF OTTAWA1 Part 4 Web technologies: HTTP, CGI, PHP,Java applets)
A Scalable Application Architecture for composing News Portals on the Internet Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta Famagusta.
© Janice Regan, CMPT 128, Jan CMPT 128 Introduction to Computing Science for Engineering Students Creating a program.
Basics of Web Databases With the advent of Web database technology, Web pages are no longer static, but dynamic with connection to a back-end database.
Overview of Previous Lesson(s) Over View  ASP.NET Pages  Modular in nature and divided into the core sections  Page directives  Code Section  Page.
T Network Application Frameworks and XML Web Services and WSDL Sasu Tarkoma Based on slides by Pekka Nikander.
Copyright © 2012 Accenture All Rights Reserved.Copyright © 2012 Accenture All Rights Reserved. Accenture, its logo, and High Performance Delivered are.
Avalanche Internet Data Management System. Presentation plan 1. The problem to be solved 2. Description of the software needed 3. The solution 4. Avalanche.
ITCS 6010 SALT. Speech Application Language Tags (SALT) Speech interface markup language Extension of HTML and other markup languages Adds speech and.
ASP.NET Web Application and Development Digital Media Department Unit Credit Value : 4 Essential Learning time : 120 hours Digital.
9 Chapter Nine Compiled Web Server Programs. 9 Chapter Objectives Learn about Common Gateway Interface (CGI) Create CGI programs that generate dynamic.
Client Scripting1 Internet Systems Design. Client Scripting2 n “A scripting language is a programming language that is used to manipulate, customize,
Tutorial 111 The Visual Studio.NET Environment The major differences between Visual Basic 6.0 and Visual Basic.NET are the latter’s support for true object-oriented.
Tutorial 7 Creating Forms. Objectives Session 7.1 – Create an HTML form – Insert fields for text – Add labels for form elements – Create radio buttons.
1 Module Objective & Outline Module Objective: After completing this Module, you will be able to, appreciate java as a programming language, write java.
INTRODUCTION TO JAVASCRIPT AND DOM Internet Engineering Spring 2012.
Extending HTML CPSC 120 Principles of Computer Science April 9, 2012.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
Database Design and Management CPTG /23/2015Chapter 12 of 38 Functions of a Database Store data Store data School: student records, class schedules,
1 Geospatial and Business Intelligence Jean-Sébastien Turcotte Executive VP San Francisco - April 2007 Streamlining web mapping applications.
Test Automation For Web-Based Applications Portnov Computer School Presenter: Ellie Skobel.
Topic 1 Object Oriented Programming. 1-2 Objectives To review the concepts and terminology of object-oriented programming To discuss some features of.
JavaScript Syntax, how to use it in a HTML document
Chapter 2: Variables, Functions, Objects, and Events JavaScript - Introductory.
11 CORE Architecture Mauro Bruno, Monica Scannapieco, Carlo Vaccari, Giulia Vaste Antonino Virgillito, Diego Zardetto (Istat)
User Profiling using Semantic Web Group members: Ashwin Somaiah Asha Stephen Charlie Sudharshan Reddy.
By Tharith Sriv. To write a web page you use: HHTML (HyperText Markup Language), AASP (Active Server Page), PPHP (HyperText Preprocessor), JJavaScript,
JavaScript Introduction.  JavaScript is a scripting language  A scripting language is a lightweight programming language  A JavaScript can be inserted.
JSP BASICS AND ARCHITECTURE. Goals of JSP Simplify Creation of dynamic pages. Separate Dynamic and Static content.
Chapter 1 Introducing Ant. What is ant? Ant is a build tool  Automate the tasks of compiling code, running test, and packaging the results for redistribution.
© FPT SOFTWARE – TRAINING MATERIAL – Internal use 04e-BM/NS/HDCV/FSOFT v2/3 JSP Application Models.
Form Processing Week Four. Form Processing Concepts The principal tool used to process Web forms stored on UNIX servers is a CGI (Common Gateway Interface)
 Web pages originally static  Page is delivered exactly as stored on server  Same information displayed for all users, from all contexts  Dynamic.
Javascript Overview. What is Javascript? May be one of the most popular programming languages ever Runs in the browser, not on the server All modern browsers.
JavaScript Introduction and Background. 2 Web languages Three formal languages HTML JavaScript CSS Three different tasks Document description Client-side.
Wes Preston DEV 202. Audience: Info Workers, Dev A deeper dive into use-cases where client-side rendering (CSR) and SharePoint’s JS Link property can.
A Presentation Presentation On JSP On JSP & Online Shopping Cart Online Shopping Cart.
A S P. Outline  The introduction of ASP  Why we choose ASP  How ASP works  Basic syntax rule of ASP  ASP’S object model  Limitations of ASP  Summary.
Building Enterprise Applications Using Visual Studio®
Unit M Programming Web Pages with
Basic 1960s It was designed to emphasize ease of use. Became widespread on microcomputers It is relatively simple. Will make it easier for people with.
Key Ideas from day 1 slides
Unit M Programming Web Pages with
4. Javascript Pemrograman Web I Program Studi Teknik Informatika
Angularjs Interview Questions and Answers By Hope Tutors.
Unit# 8: Introduction to Computer Programming
PHP.
Serpil TOK, Zeki BAYRAM. Eastern MediterraneanUniversity Famagusta
Use Cases Simple Machine Translation (using Rainbow)
Web Application Development Using PHP
Presentation transcript:

Bringing Procedural Knowledge to XLIFF Prof. Dr. Klemens Waldhör TAUS Labs & FOM University of Applied Science FEISGILTT 16 October 2012 Seattle, USA

Presentation Overview Why? How? Examples Summary and advantages

Beyond XLIFF 2.0 Syntax Semantics Pragmatics

XLIFF Limitations XLIFF represents and communicates document related information Text Attributes, properties Semantic aspects are only partially supported Constraining values with XSD XLIFF 1.x implementer specific interpretation XLIFF 2.0 with modules beyond core Complex tasks hard or impossible to realize Work flow aspects Linport Requires representing procedural knowledge

The traditional approach

Customer wants to enhance existing XLIFF Editor or application with his own small XLIFF apps Cost computations Own similarity measures … Translation servicer provider wants to add some additional operations through XLIFF apps as part of the XLIFF file Constraint checks Synchronizing TMs through web Add a new MT system … Imagine…

Current Limitations… XLIFF does not support this Translation GUIs and application using XLIFF supply a basic functionality Not extendible Or proprietary approach for extension No common agreed way how running apps in translation applications

Use HTML approach From passive presentation to active content Proven approach JavaScript – ECMA Script - standard Add Script support to XLIFF tag represents semantic knowledge Invoked on element basis Cross application functionality Vendor independent Interoperability supported Extending XLIFF

Advantages XLIFFs cross platform goals supported Mappers between vendor specific XLIFF implementations User is not limited to the functionality supplied by the application vendor Can extend functionality of editors E.g. specialized word counting Matching quality computation Access external data sources like MT, term databases etc. using Web Service May add his own work flow features

Components - Questions Functions and Procedures How and where to define functions and procedures in XLIFF Parameter Passing How to handle parameter passing? Return Value Passing How to return values back to the application? GUI Elements Which GUI elements should be supported? Security How to avoid security leaks?

Functions, Procedures Following a programming language approach Like HTML Include scripting code in XLIFF elements Script tag Properties Scripting language ECMA Script (Java Script) Wide spread Easy to implement Security concept Other languages like PHP, Perl? Access available in languages like Java etc.

Types, Parameters, Return Values Types JSON Parameters Automatic passing of parameters JSON based representation of element as a parameter for script Additional parameters for script Languages, file name, other elements… Return Values JSON supports complex objects Most modern programming languages support JSON

Script Integration Using the HTML based approach Script tag XLIFF Add to XLIFF Header Zero or more scripts allowed in header … some JavaScript code … some JavaScript code … …

Script Invocation Differences to HTML Script tag only in header, not elsewhere in the document All functions etc. declared in header Script invocation in XLIFF as some kind of trigger Attribute in element on-enter Run script when the element is entered by the application on-exit Run script when the element is left by the application Additional triggers possible E.g. some kind of trigger which reacts on changes to the target element Implementation of trigger invocation up to application Editor, command line tools, …

Informal Script Invocation Logics Application enters an element Check for on-enter attribute if exists, execute script replace trans-unit with return JSON string converted to xml Application leaves a element Check for on-exit attribute if exists execute script replace trans-unit with return JSON string converted to xml on-exit is applied to modified trans-unit of on-enter

Default handling in Applications Problem XLIFF files will normally not contain any scripts Run scripts when application is used automatically Solution Support default handling for scripts Application tries to load default.js Contains user written scripts Read from directory of XLIFF file For each XLIFF element apply default functions on-enter- and on-exit- Example: on-enter-trans-unit Function naming: Xpath?

<trans-unit approved="no" id="3" translate="yes" on-enter="estimateTranslationTime" on-exit="validateTranslationTime" > haus house Script Example Main usage in trans-unit element Call a JavaScript function estimateTranslationTime with trans-unit as JSON object when trans-unit entered Call a JavaScript function validate with trans-unit as JSON object when trans- unit element is left { "trans-unit": { "-approved": "no", "-id": "3", "-translate": "yes", "-on-enter": "estimateTranslationTime", "-on-exit": " validateTranslationTime ", "source": { "-xml:lang": "de", "#text": "haus" }, "target": { "-xml:lang": "en", "g": "house" }

<trans-unit approved="no" id="3" translate="yes" on-enter="estimateTranslationTime" on-exit="validateTranslationTime" > haus house Script Example Return Value JSON Return Value for validate { "trans-unit": { "-approved": "no", "-id": "3", "-translate": "yes", "-on-enter": "estimateTranslationTime", "-on-exit": "validateTranslationTime", "source": { "-xml:lang": "de", "#text": "haus" }, "target": { "-xml:lang": "en", "g": "house" }, "prop-group": { "prop": [ { "-prop-type": "estimatedTime", "#text": "00:00:10" }, { "-prop-type": "neededTime", "#text": "00:00:12" } ] } <trans-unit approved="no" id="3" translate="yes" on-enter="estimateTranslationTime" on-exit="validateTranslationTime" > haus house 00:00:10 00:00:12 Application modifies trans-unit (not reuqired)

GUI Elements, Forms Script might require user interaction Extension of base application Display of properties etc. Input some data Problem No GUI elements foreseen in scripting languages Possible solution (Java approach) Support import of classes and access to classes / instances Definition of some basic GUI element Yes / No / Cancel / ok Simple input dialogue …

Example application Translation Change measure for MT matches Prototype MT Translation for a segment Copied to target Similarity based on source segment comparison Modification done by translator In order to compute a fair price for the target changes compare translators changes with MT translation based on Levenshtein

Example XLIFF File …. Radblock mitangetrieben With driven wheel block Radblock mitangetrieben With driven wheel block

Example before changes by translator

Example after changes by translator MT translation changed by translator Recomputed similarity based on comparing the MT alt-trans target with the new target

Summary and Chances Easy integration into existing applications Freedom for the user Make XLIFF based applications more versatile and powerful XliffApp store Market for application/vendor independent modules Additional revenue for vendor independent developers and translators Next step Building a demonstration prototype e.g. for openTMS

For more information, please contact: