- From: Huditsch, Roman \(LNG-VIE\) <Roman.Huditsch@lexisnexis.at>
- Date: Thu, 20 Apr 2006 11:51:09 +0200
- To: <xmlschema-dev@w3.org>
Hi, Thanks a lot for all the usefull hints. Do you know, if there is a good validation tool, which can validate xml instances against an XML Schema with embedded Schematron definitions? best regards, Roman > -----Ursprüngliche Nachricht----- > Von: George Cristian Bina [mailto:george@oxygenxml.com] > Gesendet: Donnerstag, 20. April 2006 11:33 > An: Pete Cordell > Cc: Huditsch, Roman (LNG-VIE); xmlschema-dev@w3.org > Betreff: Re: Restricting attribute content to not include a > specific string > > Hi Roman, > > If Schematron embedded rules are ok for you then you can do > something like: > > <xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"> > <xs:element name="root"> > <xs:complexType> > <xs:annotation> > <xs:appinfo> > <pattern xmlns="http://www.ascc.net/xml/schematron" > name="testNotUnkown"> > <rule context="root"> > <assert test="@test!='unknown'">The value > cannot be 'unknown'</assert> > </rule> > </pattern> > </xs:appinfo> > </xs:annotation> > <xs:attribute name="test" type="xs:string"/> > </xs:complexType> > </xs:element> > </xs:schema> > > then > > <root test="unknown"></root> > > gives: > > SystemID: C:\george\workspace\oXygen\samples\test.xml > Location: 1:0 > Description: The value for test attribute cannot be 'unknown' > (@test!='unknown') > > Best Regards, > George > --------------------------------------------------------------------- > George Cristian Bina > <oXygen/> XML Editor, Schema Editor and XSLT Editor/Debugger > http://www.oxygenxml.com > > > Pete Cordell wrote: > > > > Hi Roman, > > > > "Not a pattern" doesn't seem to be something XSD supports. I think > > the only way this can be done is by doing something like: > > > > <xs:simpleType name="attrValue"> > > <xs:restriction base="xs:string"> > > <xs:pattern value=""/> > > <xs:pattern value="[^u].*"/> > > <xs:pattern value="u[^n].*"/> > > <xs:pattern value="un[^k].*"/> > > <xs:pattern value="unk[^n].*"/> > > <xs:pattern value="unkn[^o].*"/> > > <xs:pattern value="unkno[^w].*"/> > > <xs:pattern value="unknow[^n].*"/> > > <xs:pattern value="unknown.+"/> > > </xs:restriction> > > </xs:simpleType> > > > > Not a pretty sight! > > > > (Note that . does not match \n, so if you want your extra text to > > include \n you will have to modify the . bit.) Pete. > > -- > > ============================================= > > Pete Cordell > > Tech-Know-Ware Ltd > > for XML to C++ data binding visit > > http://www.tech-know-ware.com/lmx > > (or http://www.xml2cpp.com) > > ============================================= > > > > ----- Original Message ----- From: "Huditsch, Roman (LNG-VIE)" > > <Roman.Huditsch@lexisnexis.at> > > To: <xmlschema-dev@w3.org> > > Sent: Thursday, April 20, 2006 7:59 AM > > Subject: Restricting attribute content to not include a specific > > string > > > > > > > > Hi, > > > > I need to restrict attribute values in my Schema to not be > the string > > "unknown". > > So I declared a simple type as follows: > > > > <xs:simpleType name="attrValue"> > > <xs:restriction base="xs:string"> > > <xs:pattern value="^(unknown)"/> > > </xs:restriction> > > </xs:simpleType> > > > > Since I am not experienced with regular expressions I am > kind of stuck > > on the pattern value. > > Do you have any idea, how to make that restriction in the > most simple > > way? > > Thank you very much for your help. > > > > best regards, > > Roman > > > > > > > > > > >
Received on Thursday, 20 April 2006 09:51:22 UTC