2012-04-04 13 views
0

私はXMLスキーマを扱うことを学んでいます。XSDスキーマからXMLファイルを作成する際に助けが必要

"address.xsd"

<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema 
    elementFormDefault="qualified" 
    targetNamespace="com.namespace.address" 
    xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="AddressDetails"> 
     <xs:sequence> 
      <xs:element name="building" type="xs:string" /> 
      <xs:element name="street" type="xs:string" /> 
      <xs:element name="city" type="xs:string" /> 
      <xs:element name="country" type="xs:string" /> 
     </xs:sequence> 
    </xs:complexType> 
</xs:schema> 

address.xml

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

    <a:AddressDetails 
     xmlns:a="com.namespace.address" 
     xsi:schemaLocation="D:/Prac/XML/address.xsd" 
     xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" >  
     <a:building>Crosswords</a:building> 
     <a:street>MainStreet</a:street> 
     <a:city>LA</a:city> 
     <a:country>USA</a:country>  
    </a:AddressDetails> 

はIAM: は、私は "address.xsd" スキーマファイルに基づいたXMLファイルを作成したいですなぜこれが動作していないのか分からない。

+0

あなたはそれが働いていない方法を知っていますか?つまり、どのようなエラーメッセージが表示されていますか? –

+0

私はXMLエディタ "Liquid XML Studio"を使用して、XSDファイルとXMLファイルの両方を作成しています。 XMLファイルでは、エディタは次のエラーメッセージを表示しています: "'com.namespace.address:AddressDetails'要素が宣言されていません。 –

答えて

0

が実際にXSDが

+0

はい、それは私がやろうとしていることです。私は "address.xsd"に対して "address.xml"を検証したいと思います。言い換えれば、私は "address.xsd"の定義に従うXMLファイルを書きたいと思っています。 –

+0

@AshAshあなたが置く**私はXMLファイルを作成したいですか?**それが私がそれを助けることを混乱させる理由です。http://stackoverflow.com/questions/15732/whats-the-best-way-to-validate- an-xml-file-against-an-xsd-file – BALASCJP

+0

申し訳ありません。私はこのXMLスキーマの主題に慣れていません。私が尋ねたかったのは、私はXMLスキーマを与えられており、そのスキーマに基づいてXMLファイルを書きたいと思っています。 –

0

[OK]をXML生成のためではないXMLを検証するために使用され、私はこの問題を考え出しました。名前空間に問題がありました。ここでは、 "address.xsd"スキーマファイルを有効な "address.xml"とともに投稿しています。

address.xsd

<?xml version="1.0" encoding="utf-8" ?> 
<xs:schema elementFormDefault="qualified" targetNamespace="com.namespace.address" xmlns:xs="http://www.w3.org/2001/XMLSchema"> 
    <xs:complexType name="AddressDetails"> 
     <xs:sequence> 
      <xs:element name="building" type="xs:string" /> 
      <xs:element name="street" type="xs:string" /> 
      <xs:element name="city" type="xs:string" /> 
      <xs:element name="country" type="xs:string" /> 
     </xs:sequence> 
    </xs:complexType> 
    <xs:element name="address" xmlns:q1="com.namespace.address" type="q1:AddressDetails" /> 
</xs:schema> 

address.xml

<?xml version="1.0" encoding="utf-8"?>    
<a:address xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="com.namespace.address address.xsd" xmlns:a="com.namespace.address"> 
    <a:building>Crosswords</a:building> 
    <a:street>Main Street</a:street> 
    <a:city>LA</a:city> 
    <a:country>USA</a:country> 
</a:address> 
関連する問題