Wednesday, July 25, 2007

Representation of XML Schema built in simple types in Perl

Here's a post I sent to israel.pm's mailing list:

I'd like to propose a talk for one of the upcomming Perl
Mongers meetings (September before Yuval's talk or in
October):

Title:
"XML Schema built in simple types hierarchy representation as
a case study on how to refactore ad-hoc data structure
representation to Object Oriented Perl"

(an equally interesting talk, in my opinion can be with a
similar title except replacing Object Oriented Perl with
Higher Order Perl)


Abstract:
I'll briefly introduce the XML Schema built in simple types
as described in XML Schema Part 2: Datatypes Second Edition
W3C Recommendation 28 October 2004, section 3 [1]
.
Then I'll present an ad-hoc hashes-of-hashes representation
of this information.
Finally, we'll discuss and see example of Object Oriented
representation of the same information.

One of the goals of this exercise is to produce a CPAN Perl
module (actually, a set of Perl modules) that will
encapsulate the knowledge from XML Schema of its built in
simple types and allow easy manipulation, restriction and
derivation of them. This should be a useful bootstrapping
for XML Schema Processing in Perl (e.g., Schema Validation)
and a good start for developing XML Schema aware XML
processing tools such as XSLT 2.0, XPath 2.0 and XQuery 1.0
processors.

The talk can take several flavors:
* a more XML Schema technical debate where Object Orientation
is an instrument and not the purpose
* a more Object Oriented focused talk where the model is only
an instrument for discussing OO Perl
* a more Functional Programming focused talk where we end up
with an inside-out implementation in Perl rather than an OO one.


So if you want to attend this talk, let me know it and let
me also know your desired falvor -- I'll give the talk if
enough interest is expressed and will do it in the most
popular flavor :-)

Duration:60-120 minutes, depending on audience participation

When I say Object Oriented Perl, I mean OO along the lines
described in Demian Conway's Object Oriented Perl book [2].

When I say Higher Order Perl or Functional Programming in
Perl I mean HOP along the lines described in MJD's HOP book
[3]
.

Anyone interested in this talk?

[1] http://www.w3.org/TR/xmlschema-2/#built-in-datatypes
[2] http://www.manning.com/conway/
[3] http://hop.perl.plover.com/