これは'Match a string of characters between 0 and 100 long with no more than 1 hyphen in it'
でスイングプラスいくつかの追加の制約:
で終わることができないため、私はあなたが持つことができるとは思わないが可能XSD正規表現によってサポートされている構文を考慮したパターンで行われた最大長。ただし、maxLengthファセットと組み合わせるのは簡単です。
これは、XSDである。等、パターンが空白のみで囲まれたハイフンを禁止するさらに洗練することができ
<?xml version="1.0" encoding="utf-8" ?>
<!--W3C Schema generated by QTAssistant/W3C Schema Refactoring Module (http://www.paschidev.com)-->
<xsd:schema targetNamespace="http://tempuri.org/XMLSchema.xsd" elementFormDefault="qualified" xmlns="http://tempuri.org/XMLSchema.xsd" xmlns:xsd="http://www.w3.org/2001/XMLSchema">
<xsd:element name="last-name">
<xsd:simpleType>
<xsd:restriction base="xsd:string">
<xsd:maxLength value="100"/>
<xsd:pattern value="[a-zA-Z ]+\-?[a-zA-Z ]+"/>
</xsd:restriction>
</xsd:simpleType>
</xsd:element>
</xsd:schema>
有効なXML:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<last-name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">last - name</last-name>
無効なXML(あまりにも多くのハイフン)とメッセージ:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<last-name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">l-ast - name</last-name>
検証エラー:
Error occurred while loading [], line 3 position 121 The 'http://tempuri.org/XMLSchema.xsd:last-name' element is invalid - The value 'l-ast - name' is invalid according to its datatype 'String' - The Pattern constraint failed.
無効なXML(maxよりも長く、テストのために私が使ってきたのmaxLength = 14)とのメッセージ:
<?xml version="1.0" encoding="utf-8" standalone="yes"?>
<!-- Sample XML generated by QTAssistant (http://www.paschidev.com) -->
<last-name xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">last - name that is longer</last-name>
検証エラー:
Error occurred while loading [], line 3 position 135 The 'http://tempuri.org/XMLSchema.xsd:last-name' element is invalid - The value 'last - name that is longer' is invalid according to its datatype 'String' - The actual length is greater than the MaxLength value.
傷害を追加するには、 'が失敗するヒフスenはレコードの文字51にあります。 –