120 likes | 263 Views
Daniele Fusi. Zandic Architecture. Essential Technologies. Model Technologies. shared core : C# in .NET 3.5 (LINQ to XML; original version used C# 2.0) storage : XML (UTF-8 Unicode )
E N D
Daniele Fusi Zandic Architecture
Model Technologies • shared core: C# in .NET 3.5 (LINQ to XML; original version used C# 2.0) • storage: XML (UTF-8 Unicode) • Word-processor import: MS Open Office XML-based import tools (SDK version 2.0, DOCX format = zipped XML)
Presentation Technologies • desktop UI: WPF (MVVM pattern; original version used WinForms) • web RIA UI: Silverlight 2 (MVVM pattern) • web infrastructure: • ASP.NET 3.5 • SQL Server 2008 • WCF services • export: XML, XHTML + CSS via XSLT + C# extensions, XPS
Core (model) • generic document management API • storage-specific implementations: • file-based (desktop applications) • RAM-based (unit testing) • web-based (Silverlight applications) • key objects: work (=whole dictionary), work structure (=metadata), item, field, field attribute
Formatted output rendering • field styles defined in each dictionary (XML metadata) • generic output rendering API • format-specific implementations: • HTML (generic export) • XAML (for desktop UI, WPF-based, XPS) • rich text format XML dialect (for Silverlight UI)
Paper (DTP) • export tools in editors: • XML with flattening and fields and text preprocessing (for DTP) • HTML+CSS preview • import tools in editors: • flattened XML back to Zandic XML, thus incorporating last-minute changes in DTP
E-Book • Mobipocket-based solution (portable):editor tool (ZanCheck): • dictionary validation and automatic corrections • automatically generates Mobipocket-compliant XML files and metadata; merges different language sections (e.g. Italian – English, English – Italian)
Web site • ASP.NET 3.5 application: • direct search on XML files, no preprocessing or indexing required • user simple or complex queries: scope (letters, fields), literal, wildcards, full regular expression (.NET engine) • HTML output via XSLT + C# extensions
Daniele Fusi http://www.fusisoft.it daniele.fusi@uniroma1.it