ASPN ActiveState Programmer Network
ActiveState
/ Home / Perl / PHP / Python / Tcl / XSLT /
/ Safari / My ASPN /
Cookbooks | Documentation | Mailing Lists | Modules | News Feeds | Products | User Groups


Recent Messages
List Archives
About the List
List Leaders
Subscription Options

View Subscriptions
Help

View by Topic
ActiveState
.NET Framework
Open Source
Perl
PHP
Python
Tcl
Web Services
XML & XSLT

View by Category
Database
General
SOAP
System Administration
Tools
User Interfaces
Web Programming
XML Programming


MyASPN >> Mail Archive >> xml-dev
xml-dev
Re: [xml-dev] XML Schema - > XML Instance - > XSLT Transformation with MSXML 4 ?
by TAN Kuan Hui other posts by this author
Mar 1 2002 2:45AM messages near this date
[xml-dev] XML Schema - > XML Instance - > XSLT Transformation with MSXML 4 ? | [xml-dev] MaGIC
> 
>  What we are doing at Hanse Orga is developing a financial software, where
we
>  used xml as a bridge between our backend programmed with COM and our
>  frontend developed with XSLT, which transformed the XML-String passed by
our
>  ServletEngine (Java) into XHTML combined with CSS and Javascript.
Javascript
>  we use for some validations at the client side (IE6). This is a
workaround,
>  because our business logic written in Centura/Gupta exists since many
years
>  on a windows client/server system.
> 
>  My first key question is, that i want try to include the XML Schema
linking
>  it with my XML Instance String, which are transformed with XSLT in the
above
>  mentionred output.
>  I know now, that MSXML 4 support the whole W3 Recommendation of XML
Schema.
>  Can anyone supplies a working example, how to link this three document on
>  the client side?
> 

I presume what you want to do is validate XML before you pass it to
XSLT which generates your XHTML. Its simple and probably good
for your initial phase of the project where you might want to trap that
what's coming from the server is compliant with the designated schema.
But once you are convince that the output generating from your server
is stable, you might want to turn validation off as this validation may
become unnecessary. There are loads of examples in the sdk if you
are looking for such simple validation.

>  Secondly, from that point i want test, if it is possibly to do some
>  validation on the client side, to see if i can validate against the schema
>  by checking the user input, instead of using complicated javascripts. I
>  imagine for example, if some user put a not valid date format in an input
>  field, an alert box pops up with the message "This is not a valid date
>  format" . Is this possible to generate with XML Schema ? Or is XML Schema
>  designed in mind for software agents, valid data exchange and
documentation
>  purpose only ?

You should note these,

1. The error message that you get from DOM does not easily
allow you to pin-point where the offending field is if you are
validating a fully composed XML input (i.e. you piece all the
information into a single XML structure for validation).
Pumping the error message to the user may confuse him or her
and thus not very useful.

You can however use schema to validate field-by-field, you
have to retrieve the corresponding element/type and call isValid().
This will allow you to gain fine control on where errors may
occur and react with the user accordingly. If this is what you
want to do, you will need to understand how to structure your
schema such that such types/element definition are available
globally so as to allow you to conveniently retrieve them for
validation. Also note that schema validate date time against
ISO 8601 format which is a good idea to standardise on but
may not meet your user expectation of how a date time should
be displayed and entered, but its not a problem translating
between the two, but don't expect straightforward validation
just in case that's what you are looking for.

2. Schema validation does not validate application logic. Yes, you
can achieve a first layer of type facets and structural validation thru
the schema but you can't perform application logic related validation.
Unless of course satisfying schema validation also satisfy your
application logics (rare IMO).

Field-by-field schema validation then followed by application
logic validation in Javascript might still be unavoidable but
this 2-layer approach will make your application more robust.

3. IMO, you should probably also use schema validation at the
server-side to trap malformed XML and do script-based
validation at the client end to interact with User's input. This way,
when many developers can work on the UI, you have a central
validator that ensure that what comes in to the server is not
garbage. It will also allow you to use browsers other than IE
to service your users.

Of course, if the data is actually not sent to a server but pumped
into COM at the client side, this "server-side-trap" will still be
useful for the same purpose but it makes code maintenance
messy.

HTH.




-----------------------------------------------------------------
The xml-dev list is sponsored by XML.org <http://www.xml.org> , an
initiative of OASIS <http://www.oasis-open.org> 

The list archives are at http://lists.xml.org/archives/xml-dev/

To subscribe or unsubscribe from this list use the subscription
manager: <http://lists.xml.org/ob/adm.pl> 
Thread:
Braumuller, Hans
TAN Kuan Hui

Privacy Policy | Email Opt-out | Feedback | Syndication
© ActiveState Software Inc. All rights reserved