次で始まる xsd ドキュメントがあります。
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:import namespace="http://www.w3.org/XML/1998/namespace" schemaLocation="http://www.w3.org/2001/xml.xsd"/>
<xs:complexType name="T_segment">
<xs:sequence>
<xs:element ref="element" maxOccurs="unbounded"/>
</xs:sequence>
<xs:attribute ref="xml:space" use="required"/>
<xs:attribute ref="id" use="required"/>
</xs:complexType>
...
この xsd を BizTalk などのマッピング アプリケーションで使用しようとすると、名前空間について不平を言って爆発します。そのため、xs:import 名前空間タグを削除すると、xs:attribute ref="xml:space" タグについて不平を言います。それで、私はそれを取り除き、それはうまくいくようです(少なくとも爆発しません)。
私の質問は、これらのタグは何のためのものですか? それらを削除すると、xsdが壊れますか?
私が知っていることから、名前空間は競合を避けるためのものです。しかし、xsd ではすべてに xs というプレフィックスが付き、スキーマ自体には xmlns:xs="http://www.w3.org/2001/XMLSchema" が含まれています。そのインポートが何のためにあるのかわかりません。