XML Editor
Sign up for a WebBoard account Sign Up Keyword Search Search More Options... Options
Chat Rooms Chat Help Help News News Log in to WebBoard Log in Not Logged in
Conferences Close Tree View
+ Stylus Studio Feature Requests (1192)
- Stylus Studio Technical Forum (14621)
-> - Stylus Studio - Registrar en o... (1)
-> + Stylus Studio - Registrar en o... (2)
-> + Can a pipeline send a file by ... (2)
-> + After Updateing WIN10 to WIN11... (12)
-> + Where do I add the custom java... (3)
-> + Where is the Diagram tab? (5)
-> + Applying XSLT to Word DOCX/XML (2)
-> - CSV conversion via ConvertToXM... (1)
-> + Text symbols in SS not same as... (4)
-> + Exposing xquery as webservice ... (6)
-> + Syntax Identifier (2)
-> + Saving a Converted XML as an X... (5)
-> + Output document cannot be pars... (4)
-> - Archiving output from conversi... (1)
-> + EDIFACT guideline from Stylus ... (3)
-> + CSV file putting all the data ... (5)
-> + Can't install Home version 64b... (5)
-> + presale - Can I covers this sc... (5)
-> + Problem with UNB (5)
-> + Splitting EDIFACT files pipeli... (4)
-- [1-20] [21-40] [41-60] Next
+ Website Feedback (249)
+ XSLT Help and Discussion (7625)
+ XQuery Help and Discussion (2017)
+ Stylus Studio FAQs (159)
+ Stylus Studio Code Samples & Utilities (364)
+ Stylus Studio Announcements (113)
Topic  
Postnext
Vinayak SapreSubject: schema pattern to restrict words
Author: Vinayak Sapre
Date: 09 Mar 2003 01:54 AM
This is not really question about Stylus Studio. Apologies in advance if it is inappropriate.

I want to define a Simple Type based on xsd:string so that the valid value MUST start with / (easy part) and DOES NOT contain word param and xyz.

So /data/subdir/test.jsp is valid.

And
/data/subdir/test.jsp?param=10&xyz=20
/data/subdir/test.jsp?param=10
/data/subdir/test.jsp?xyz=20

are all invalid.


Thanks

Postnext
Lee HumphriesSubject: schema pattern to restrict words
Author: Lee Humphries
Date: 09 Mar 2003 06:25 PM
It sounds like you need to set up a Regex pattern restriction (i.e. use xsd:pattern).
A regex of "/.*" will only accept strings that start with a "/".
If you extend that to "/.*(param|xyz).*" that will require a string that starts with a "/" and must contain either "param" or "xyz" within it. The "^" metacharacter should be able to negate that for you, but unfortunately I can't remember how to get it just right.

Postnext
Ivan PedruzziSubject: RE: schema pattern to restrict words
Author: Ivan Pedruzzi
Date: 09 Mar 2003 10:59 PM
If I understood correctly you want to refuse urls with parameters.

Assuming this document is the input

{?xml version="1.0"?}
{root
xsi:noNamespaceSchemaLocation="myurl.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"}

{!--valid--}
{url}/a/test.jsp{/url}

{!--invalid--}
{url}a/test.jsp{/url}
{url}/data/subdir/test.jsp?param=10&xyz=20{/ur}

{/root}


The following schema should do it

-- myurl.xsd --

{?xml version="1.0"?}
{xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema"}
{xsd:simpleType name="MyUrl"}
{xsd:restriction base="xsd:string"}
{xsd:pattern value="/[\p{N}\p{L}\./]*.jsp"/}
{/xsd:restriction}
{/xsd:simpleType}
{xsd:element name="root"}
{xsd:complexType}
{xsd:sequence maxOccurs="unbounded"}
{xsd:element name="url" type="MyUrl"/}
{/xsd:sequence}
{/xsd:complexType}
{/xsd:element}
{/xsd:schema}


You may interested in this alternative solution using Schematron[1]

{?xml version="1.0"?}
{schema xmlns="http://www.ascc.net/xml/schematron"}
{pattern name="param is forbidden"}
{rule context="/root/url"}
{assert test="starts-with(., '/')"}
Text in element "" must start with /
{/assert}
{assert test="not(contains(.,'param'))"}
Text in element "" must not contain param
{/assert}
{/rule}
{/pattern}
{/schema}

Schematron works asserting Xpath expressions.
It is implemented as a stylesheet[2]that takes in input a schematron
schema and generates a stylesheet as ouput.
The generated stylesheet is used to validate your documents.


[1]http://www.ascc.net/xml/resource/schematron/schematron.html
[2]http://www.ascc.net/xml/schematron/1.5/conformance1-5.xsl

Ivan Pedruzzi
Progress Software
http://www.stylusstudio.com


> -----Original Message-----
> From: stylus-studio-tech Listmanager
> [mailto:listmanager@edn.exln.com]
> Sent: Sunday, March 09, 2003 2:13 AM
> To: Recipients of 'stylus-studio-tech' suppressed
> Subject: schema pattern to restrict words
>
>
> From: "Vinayak Sapre"
>
> This is not really question about Stylus Studio. Apologies in
> advance if it is inappropriate.
>
> I want to define a Simple Type based on xsd:string so that
> the valid value MUST start with / (easy part) and DOES NOT
> contain word param and xyz.
>
> So /data/subdir/test.jsp is valid.
>
> And
> /data/subdir/test.jsp?param=10&xyz=20
> /data/subdir/test.jsp?param=10
> /data/subdir/test.jsp?xyz=20
>
> are all invalid.
>
>
> Thanks
>
>
>
> To reply: mailto:stylus-studio-tech.6427@edn.exln.com
> To start a new topic: mailto:stylus-studio-tech@edn.exln.com
> To login: http://edn.exln.com/~SSDN
>

Posttop
Vinayak SapreSubject: RE: schema pattern to restrict words
Author: Vinayak Sapre
Date: 10 Mar 2003 04:56 PM
Thanks to both of you for the reply.

Lee, I ran into same problem. I don't know how to negate.

Ivan, the schematron version looks more accurate to what I need. But I cannot use that unless every validator supports that. Our system uses different validators at different stages. So I would prefer to stick to just schema syntax.

The first version relies on the fact that url ends with jsp extension. Actually I want to ensure certain parameters are not authored in a url. But there could be some others that are allowed. Sorry for not stating my problem correctly.

   
Download A Free Trial of Stylus Studio 6 XML Professional Edition Today! Powered by Stylus Studio, the world's leading XML IDE for XML, XSLT, XQuery, XML Schema, DTD, XPath, WSDL, XHTML, SQL/XML, and XML Mapping!  
go

Log In Options

Site Map | Privacy Policy | Terms of Use | Trademarks
Stylus Scoop XML Newsletter:
W3C Member
Stylus Studio® and DataDirect XQuery ™are from DataDirect Technologies, is a registered trademark of Progress Software Corporation, in the U.S. and other countries. © 2004-2016 All Rights Reserved.