XML.orgXML.org
FOCUS AREAS |XML-DEV |XML.org DAILY NEWSLINK |REGISTRY |RESOURCES |ABOUT
OASIS Mailing List ArchivesView the OASIS mailing list archive below
or browse/search using MarkMail.

 


Help: OASIS Mailing Lists Help | MarkMail Help

[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]
Using curly brace symbols in a simpleType - legal and illegal usage

Hi Folks,

This XML Schema simpleType specifies that the allowable values are: one or more lower- and upper-case letters of the alphabet and left/right curly braces.

    <xs:simpleType name="Test">
        <xs:restriction base="xs:string">
            <xs:pattern value="[a-zA-Z\{\}]+" />
        </xs:restriction>
    </xs:simpleType>

Since the curly braces are regex meta-symbols, they are escaped.

That simpleType was then placed inside an XSLT template:

    <xsl:template match="/">
        <xs:simpleType name="Test">
            <xs:restriction base="xs:string">
                <xs:pattern value="[a-zA-Z\{\}]+" />
            </xs:restriction>
        </xs:simpleType>
    </xsl:template>

The XSLT processor flags an error: Invalid character '\' in expression.

The curly braces are also meta-symbols in XSLT. However, to escape the curly braces in XSLT use double curly braces:

    <xsl:template match="/">
        <xs:simpleType name="Test">
            <xs:restriction base="xs:string">
                <xs:pattern value="[a-zA-Z{{}}]+" />
            </xs:restriction>
        </xs:simpleType>
    </xsl:template>

 If the XSLT program is generating an XML Schema, then you must escape the double curly braces:

    <xsl:template match="/">
        <xs:simpleType name="Test">
            <xs:restriction base="xs:string">
                <xs:pattern value="[a-zA-Z\{{\}}]+" />
            </xs:restriction>
        </xs:simpleType>
    </xsl:template>

/Roger


[Date Prev] | [Thread Prev] | [Thread Next] | [Date Next] -- [Date Index] | [Thread Index]


News | XML in Industry | Calendar | XML Registry
Marketplace | Resources | MyXML.org | Sponsors | Privacy Statement

Copyright 1993-2007 XML.org. This site is hosted by OASIS