私はXML言語が新しく、xmlファイルが1つあり、そのファイルのxsdスキーマを作成しましたが、このスキーマをxmlファイルで参照する方法が問題です。私のxmlスキーマはこのようになりますxsdファイルをxmlで参照する
<?xml version="1.0" encoding="utf-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:wmh="http://www.wmhelp.com/2003/eGenerator"
elementFormDefault="qualified"
targetNamespace="http://axis.com/service"
xmlns="http://axis.com/service"
version="1.0">
<xs:element name="SWService" type="SWServiceType"/>
<xs:element name="HWService" type="HWServiceType"/>
<xs:complexType name="SWServiceType">
<xs:sequence>
<xs:element name="Service" type="ServiceType" minOccurs="0" maxOccurs="unbounded"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServiceType">
<xs:complexContent>
<xs:extension base="IdType">
<xs:sequence>
<xs:element name="Description" type="xs:string" maxOccurs="1" minOccurs="0"/>
<xs:element name="ServiceCustomers" type="ServiceCustomersType" maxOccurs="1"
minOccurs="0"/>
<xs:element name="ServiceSuppliers" type="ServiceSuppliersType" maxOccurs="1"
minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="HWServiceType">
<xs:sequence>
<xs:element name="element" type="elementGroupType" maxOccurs="1" minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServiceCustomersType">
<xs:sequence>
<xs:element name="SoftWare" type="SoftWareType" maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="ServiceSuppliersType">
<xs:sequence>
<xs:element name="SoftWare" type="SoftWareType" maxOccurs="unbounded"
minOccurs="0"/>
<xs:element name="HardWare" type="HardWareType" maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="SoftWareType">
<xs:complexContent>
<xs:extension base="PathType">
<xs:attribute name="Service" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="HardWareType">
<xs:complexContent>
<xs:extension base="PathType">
<xs:attribute name="Type" type="xs:string" use="required"/>
<xs:attribute name="Nr" type="xs:string" use="required"/>
<xs:attribute name="Service" type="xs:string" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="PathType">
<xs:attribute name="Path" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="elementGroupType">
<xs:sequence>
<xs:element name="element" type="elementType" maxOccurs="unbounded"
minOccurs="1"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="elementType">
<xs:sequence>
<xs:element name="LM" type="LMType2" maxOccurs="1" minOccurs="1"/>
<xs:element name="Service" type="ServiceType" maxOccurs="unbounded" minOccurs="0"/>
</xs:sequence>
<xs:attribute name="Type" type="xs:string" use="required"/>
<xs:attribute name="Nr" type="xs:string" use="required"/>
<xs:attribute name="Name" type="xs:string" use="required"/>
</xs:complexType>
<xs:complexType name="LMType2">
<xs:sequence>
<xs:element name="LowerMode" type="LowerModeType2" maxOccurs="unbounded"
minOccurs="0"/>
</xs:sequence>
</xs:complexType>
<xs:complexType name="LowerModeType2">
<xs:complexContent>
<xs:extension base="IdType">
<xs:attribute name="Probability" type="xs:double" use="required"/>
</xs:extension>
</xs:complexContent>
</xs:complexType>
<xs:complexType name="IdType">
<xs:attribute name="Id" type="xs:string" use="required"/>
</xs:complexType>
</xs:schema>
私はこのファイルをservice.xsdとして保存しました。 xmlファイルでこのスキーマを参照する必要がありますが、このように試しましたが検証はしません。
<?xml version="1.0" encoding="UTF-8"?>
<Service xsi:schemaLocation="file:///C:/main/newfolder/service.xsd"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://axis.com/service"
Version="1.0">
--------Xml data-------
</Service>
私は問題が何であるのかわからない。それは私がこの
<?xml version="1.0" encoding="UTF-8"?>
<Service xsi:schemaLocation=""http://axis.com/service"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://axis.com/service"
Version="1.0">
--------Xml data-------
</Service>
が、それでも同じ問題のように試してみました。この
No DTD of the document found
のようなエラーが発生します。 xmlpadを使用してxmlファイルを検証すると 誰でも問題を解決できます。何か助けていただければ幸いです。
ありがとうございます。
+1:私がしばらく見てきた最高の最初の投稿の1つ! –
XMLの検証方法を記述できますか?あなたはいくつかの外部プログラムを使用していますか? – bbaja42
@ bbaja42私はXMLPADを使用して検証しています。 – user234