[英]IntelliSense is not working in VS2019 for my XML document to which I have a schema attached
[英]Can I make my XML Schema (XSD) give me VS Intellisense with elements that have *any* name?
以下是示例XSD和示例XML。 XSD是為XML編寫的,如下所示:
<Columns>
<Column label="etc..."></Column>
</Columns>
我希望XSD允許具有任何名稱的元素,而不僅僅是“ Column”。 我真正想要的是在Visual Studio中工作的intellisense,這樣我可以輸入任何元素名稱而不是“ Column”,並且仍然會提示您輸入各種列屬性。 這可能嗎? 我只是在尋找智能感知。 我實際上不需要使用該模式來驗證XML。
樣本XML:
<?xml version="1.0" encoding="utf-8" ?>
<Columns name="FindPatient" label="Find Patient">
<Name label="Patient Name" display="yes" order="1"/>
<MRN label="MRN #" display="yes" order="2"/>
<BirthDate label="Birth Date" format="shortdate" align="right" display="yes" order="3"/>
<SSN label="SSN" format="hiddenSsn" display="yes" order="4" notSortable="yes"/>
<DateOfService label="Date Of Service" format="shortdate" align="right" display="no" order="5"/>
<AdmitDate label="Admit Date" format="shortdate" align="right" display="no" order="6"/>
<DischargeDate label="Discharge Date" format="shortdate" align="right" display="no" order="7"/>
<Address label="Address" display="yes" order="8"/>
<Facility label="Facility" display="yes" order="9"/>
</Columns>
樣本XSD:
<?xml version="1.0" encoding="utf-8"?>
<xs:schema id="ColumnConfiguration" targetNamespace="http://example.com/columnconfiguration" xmlns="http://example.com/columnconfiguration" xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified">
<xs:simpleType name="yesNo">
<xs:restriction base="xs:string">
<xs:enumeration value="yes"/>
<xs:enumeration value="no"/>
</xs:restriction>
</xs:simpleType>
<xs:complexType name="Column">
<xs:attribute name="label" type="xs:string" use="required"/>
<xs:attribute name="display" type="yesNo" use="required"/>
<xs:attribute name="order" type="xs:integer" use="required"/>
<xs:attribute name="format" type="format" use="optional"/>
<xs:attribute name="align" type="xs:string" use="optional"/>
<xs:attribute name="tooltip" type="xs:string" use="optional"/>
</xs:complexType>
<xs:complexType name="Columns">
<xs:sequence>
<xs:element name="Column" type="Column" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:element name="Columns" type="Columns"/>
</xs:schema>
更換
<xs:complexType name="Columns">
<xs:sequence>
<xs:element name="Column" type="Column" minOccurs="1" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
與
解決方案:允許任何子元素而不指定它們
<xs:complexType name="Columns">
<xs:sequence>
<xs:any minOccurs="1"/>
</xs:sequence>
</xs:complexType>
解決方案2:允許定義明確的孩子
<xs:complexType name="Columns">
<xs:choice minOccurs="1" maxOccurs="unbound">
<xs:element name="Column" type="Column" minOccurs="1" maxOccurs="unbounded"/>
<!-- add other xs:element here -->
</xs:choice>
</xs:complexType>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.