Hi Folks,
I am writing an XSLT program that outputs an XML Schema.
The generated XML Schema is to contain a simpleType, with a pattern facet. Its
regex is to express: zero or more lowercase letters of the English alphabet,
the left curly brace, and the right curly brace:
<xs:simpleType name="Stuff">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z\{\}]*" />
</xs:restriction>
</xs:simpleType>
The curly braces are special symbols in the regex language, so I escaped them:
\{ and \}
Interestingly, the curly braces are also special symbols in the XSLT language.
That's causing me problems.
Below is my XSLT program. It doesn't work - an error is generated because of
the curly braces. Note that replacing the curly braces with their character
references also failed:
<xs:pattern value="[a-z\{\ }]*" />
What's the right way to do this? /Roger
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
xmlns:xs="http://www.w3.org/2001/XMLSchema"
exclude-result-prefixes="xs"
version="2.0">
<xsl:output method="xml" />
<xsl:template match="/">
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Test" type="Stuff" />
<xs:simpleType name="Stuff">
<xs:restriction base="xs:string">
<xs:pattern value="[a-z\{\}]*" />
</xs:restriction>
</xs:simpleType>
</xs:schema>
</xsl:template>
</xsl:stylesheet>
--~----------------------------------------------------------------
XSL-List info and archive: http://www.mulberrytech.com/xsl/xsl-list
EasyUnsubscribe: http://lists.mulberrytech.com/unsub/xsl-list/1167547
or by email: xsl-list-unsub(_at_)lists(_dot_)mulberrytech(_dot_)com
--~--