3

DB 内の文字列の最長値が

"ABC<DEF"

XSD でのこの文字列データ型の maxLength 制限は 7 (エンコード前) または 10 (エンコード後) である必要があります。つまり、

"ABC&lt;DEF"
4

1 に答える 1

2

簡単な答え: 事前エンコード。

XML で文字をエンコードしても、文字列の「実際の」長さの値には影響しません。

クイックテスト:

<?xml version="1.0" encoding="utf-8" ?>
<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="root">
        <xsd:simpleType>
            <xsd:restriction base="xsd:string">
                <xsd:maxLength value="2"/>
            </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) -->
<root xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://tempuri.org/XMLSchema.xsd">&amp;1</root>
于 2012-04-25T14:46:43.523 に答える