Announcement

Collapse
No announcement yet.

VB .NET mit Inline XML

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • VB .NET mit Inline XML

    Hallo,

    ich nutze in meinem VB Quelltext Inline XML.
    Zur Unterstützung habe ich eine xsd eingebunden

    Code:
    Imports <xmlns:pncl="http://xmlns.paebbels.eu/Library/1.0/PNCLParser">
    
    Module Module1
        Sub Main()
            Dim a As XDocument = XDocument.Load("")
    
           Dim b = a.<PNCL>
        End Sub
    End Module
    In der pncl.xsd definiere ich einen Tag <PNCL> mit dem Attribut version, welches ich aus dem namensraum types importiere, desweitere gibt es ein Attribut welches aus dem namensraum xml importiert wird.

    HTML Code:
    <?xml version="1.0" encoding="utf-8" ?>
    <xsd:schema attributeFormDefault="qualified"
                elementFormDefault="qualified"
                targetNamespace="http://xmlns.paebbels.eu/Library/1.0/PNCLParser"
                xmlns="http://xmlns.paebbels.eu/Library/1.0/PNCLParser"
                xmlns:xml="http://www.w3.org/XML/1998/namespace"
                xmlns:type="http://xmlns.paebbels.eu/Common/1.0/Types"
                xmlns:xsd="http://www.w3.org/2001/XMLSchema">
    
      <xsd:import namespace="http://xmlns.paebbels.eu/Common/1.0/Types" />
      <xsd:import namespace="http://www.w3.org/XML/1998/namespace" />
    
      <xsd:element name="PNCL">
        <xsd:complexType>
          <xsd:sequence>
            <!-- ......... -->
          </xsd:sequence>
          <xsd:attribute ref="xml:id" />
          <xsd:attributeGroup ref="type:AGversion" />
        </xsd:complexType>
      </xsd:element>
    </xsd:schema>
    Wenn man in VisualStudio (egal ob 2008 oder 2010) eine xml-Datei erstellt, dort den Namensraum pncl benutzt dann funktioniert IntelliScense wunderbar.
    Es bietet dann innerhalb des PNCL-Tags die Auswahl
    - version=""
    - xml:id=""
    an.

    Wenn ich nun wie oben beschrieben diesen Namensraum per Import <xmlns="...."> in VB lade, dann meldet VisualStudio / IntellScense folgendes:
    Errors occurred while compiling the Xml schemas in the project. Because of this, Xml intellisense is not available.

    Ich habe bereits herausgefunden, das ohne dem Attribut xml:id im PNCL-Tag IntelliScense wieder funktioniert.

    Laut XSD Spezifikation und dem Verhalten von VisualStudio innerhalb der xml-Datei ist der Import des xml:id Attributes erlaubt.

    Fragen:
    - Hatte jemand schoneinmal dieses Problem?
    - Hat jemand eine Lösung dafür?
    - Kann jemand erklären warum sich beide Fälle unterschiedlich verhalten?
Working...
X