[XSL-LIST Mailing List Archive Home] [By Thread] [By Date] [Recent Entries] [Reply To This Message]

Re: Pattern-Matching / Regular Expression Types

Subject: Re: Pattern-Matching / Regular Expression Types
From: Tiago Freitas <coolkcah@xxxxxxxxx>
Date: Thu, 26 Apr 2012 23:04:16 +0100
 Re: Pattern-Matching / Regular Expression Types
Michael Kay suggested (on stackoverflow) some possibilities:

(a) if the sequence of nodes you are matching is the sequence of
children of some parent node, then you can recast this as a rule for
matching the parent node

(b) convert the structural information that you want to match on into
a string, and use regular expression matching to assess the string

(c) write XSD complex type definitions for the grammar that you want
to match, and use the XSLT validate-by-type capability (in conjunction
with XSLT 3.0's try/catch) to test whether the sequence of nodes
matches a named complex type in the schema.
------

Method a) I'm not sure yet how it could be done.

Method b) (same Wendell suggested) is possible for the matching, but
then I can't save the nodes for further manipulation, and it's harder
to add functionality.

Method c) uses XSLT 3.0 functionality, and I would like to avoid it,
since I would need a license for most processors (student with no
budget).

----

I found the op:node-before function / << operator, that I think could
be used for this.
For example, to represent the * in my pattern examples, I would get
all the nodes after the preceding and before the following path to the
*. This way I would keep restricting the nodeset with the order in the
pattern. This does not seem efficient...


Other possible paths:

I found XDuce, another XML processing language, that has native regex
patterns and regex types that seem better suited for this, but there
are no implementations for Java that I could find, and I would prefer
to use a W3C standard if there is a good method.
XDuce has ML, OCaml, and C# (XTatic) implementations that could work.
XRel is a very limited Java implementation (no attributes support).
I read somewhere that the XQuery definition was based on XDuce, but
the regex pattern matching does not seem to be exposed.

I also found XACT and schematools for Java, based on "XML
Graphs"/"Summary Graphs", but it's clear how to apply it.

Scala has native XML processing with pattern matching; does not seem
as powerful as XDuce, but seems a good option.

Current Thread

PURCHASE STYLUS STUDIO ONLINE TODAY!

Purchasing Stylus Studio from our online shop is Easy, Secure and Value Priced!

Buy Stylus Studio Now

Download The World's Best XML IDE!

Accelerate XML development with our award-winning XML IDE - Download a free trial today!

Don't miss another message! Subscribe to this list today.
Email
First Name
Last Name
Company
Subscribe in XML format
RSS 2.0
Atom 0.3
Site Map | Privacy Policy | Terms of Use | Trademarks
Free Stylus Studio XML Training:
W3C Member
Stylus Studio® and DataDirect XQuery ™are products from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2013 All Rights Reserved.