2009-11-25 3 views
0

J'ai défini un schéma XML comme ci-dessousDot net 3.5: comment activer intellisense lors de l'écriture de fichier xml se référant à un schéma défini?

<?xml version="1.0" encoding="utf-8"?> 

<xs:schema id="PacketTemplate" 
targetNamespace="http://tempuri.org/PacketTemplate.xsd" 
elementFormDefault="qualified" 
xmlns="http://tempuri.org/PacketTemplate.xsd" 
xmlns:mstns="http://tempuri.org/PacketTemplate.xsd" 
xmlns:xs="http://www.w3.org/2001/XMLSchema"> 

<xs:group name="packetTemplate"> 
    <xs:sequence id="packetTemplateSequence" > 

    <xs:element name="packetType" maxOccurs="1" minOccurs="1" nillable="false" > 
    <xs:complexType > 
     <xs:attribute name="packetCode" type="xs:string" use="required"></xs:attribute> 
     <xs:attribute name="packetTypeIncoming" type="xs:boolean" use="required"></xs:attribute>  
    </xs:complexType> 
    </xs:element> 
    <xs:element name="packetFieldInfo" minOccurs="1" maxOccurs="unbounded"> 
    <xs:complexType> 
     <xs:attribute name="fieldName" type="xs:Name" use="required"></xs:attribute> 
     <xs:attribute name="fieldNumber" type="xs:integer" use="required"></xs:attribute> 
     <xs:attribute name="conversionCode" type="xs:integer" use="required"></xs:attribute> 
     <xs:attribute name="fieldInUse" type="xs:boolean" use="required"></xs:attribute> 

    </xs:complexType> 
    </xs:element> 
</xs:sequence> 

maintenant quand j'écrire le fichier XML correspondant à ce schéma je ne suis pas en mesure d'utiliser les fonctions de IntelliSense comme il devrait montrer toutes les balises possibles dans mon fichier? A côté de cela, que dois-je faire pour que ce fichier xml fasse référence au fichier de schéma que j'ai défini? Le fichier Xml est comme ci-dessous.

<?xml version="1.0" encoding="utf-8" ?> 
    <packetTemplate> 
     <packetType packetCode="601" packetTypeIncoming="123" fieldInUse="true"> 
     </packetType> 
    </packetTemplate> 

Répondre

0

Dans Visual Studio, vous pouvez ouvrir le fichier * .xml et dans la fenêtre des propriétés que vous pouvez spécifier le fichier de schéma dans les schémas de propriété.

De cette façon, Visual Studio doit fournir Intellisense, en supposant que le schéma fourni est valide.

Vous pouvez consulter le W3Schools examples pour savoir comment créer un schéma XML.

+0

IntelliSense ne fonctionne toujours pas –

+0

Votre schéma valide? –

1

Une autre façon de valider votre XML avec votre XSD est de spécifier le XSD lorsque vous utilisez msxml, et vous n'avez pas à marquer votre XML. Je ne sais pas s'il y a un réel avantage dans un sens ou dans l'autre.

0

Pour de futures références: le schéma affiché n'est pas un XML bien formé: très probablement dans le processus de publication, les deux dernières lignes ont été tronquées.

Avec cela fixé, l'intellisense ne fonctionnera pas puisque le schéma définit un groupe par opposition à un élément. Changer xs: group en xs: element, puis en suivant la réponse décrivant l'installation de Visual Studio, devrait fonctionner.

Encore une chose:. Le fichier XML exemple affiché comme n'est pas valide, car au moins un élément de packetFieldInfo doit également être en

Questions connexes