首页 > 解决方案 > 使用 XSD 验证 XML。错误:架构无效或缺少命名空间

问题描述

使用 notepad++ 进行验证时出现错误。请参阅下面的 xml 数据。下面的 google drive 链接包含用于验证的 xsd 架构文件。提前致谢。 https://drive.google.com/drive/folders/1bK1E04fYdDR7oYTBbnClC56Og2i6VRYD?usp=sharing

错误 :

架构无效或缺少命名空间


<Transmission VersionSchema="2019.1" xmlns="http://www.mrq.gouv.qc.ca/T5" xmlns:xsd="http://www.w3.org/2001/XMLSchema" >

<P>

<Annee>2019</Annee>

<TypeEnvoi>O</TypeEnvoi>

<Preparateur>

<No>NP123456</No>

<Type>2</Type>

<Nom1>DNFMDSFJ</Nom1>

<Nom2>SDSDSDD</Nom2>

<Adresse>

<Ligne1>324 </Ligne1>

<Ligne2>107a ave</Ligne2>

<Ville>Surrey</Ville>

<Province>BC</Province>


<CodePostal>V3T0B8</CodePostal>

</Adresse>
</Preparateur>
<Informatique>

<Nom>joseph</Nom>

<IndRegional>604</IndRegional>

<Tel>726-4032</Tel>

<PosteTel>5467</PosteTel>

<Langue>A</Langue>

</Informatique>
<Comptabilite>

<Nom>john doe</Nom>

<IndRegional>604</IndRegional>

<Tel>720-4932</Tel>

<PosteTel>3235</PosteTel>

<Langue>A</Langue>

</Comptabilite>
<NoCertification>RQ-19-99-999</NoCertification>

<NomLogiciel>my company</NomLogiciel>

<VersionLogiciel>1</VersionLogiciel>

<CourrielResponsable>myemail@gmail.com</CourrielResponsable>

<CourrielLangue>A</CourrielLangue>


<IdPartenaireReleves>1234567891234567</IdPartenaireReleves>

<IdProduitReleves>1234567891234567</IdProduitReleves>



</P>
<Groupe08>

<R>

<Annee>2019</Annee>

<NoReleve>123456789</NoReleve>

<Etudiant>

<NAS>123456789</NAS>

<CodePermanent>AAAA99999999</CodePermanent>

<NomFamille>george</NomFamille>

<Prenom>joseph</Prenom>

<Initiale>N</Initiale>

</Etudiant>
<Adresse>

<Ligne1>1467 107A AVE</Ligne1>



<Ville>SURREY</Ville>

<Province>BC</Province>

<CodePostal>V379B7</CodePostal>

</Adresse>
<Montants>
Mandatory
<A_EtudesPostSecondaires>2933</A_EtudesPostSecondaires>

<B_FraisScolariteOuExamen>500</B_FraisScolariteOuExamen>

<C_Dons>100</C_Dons>

</Montants>
</R>


<T>

<Annee>2019</Annee>

<NbReleves>1</NbReleves>

<EtablissementEnseignement>

<Code>SDRDFSD</Code>

<Nom1>my college</Nom1>

<Nom2>surrey</Nom2>

<Adresse>

<Ligne1>14527 109ave</Ligne1>



<Ville>surrey</Ville>

<Province>BC</Province>

<CodePostal>V3T0B8</CodePostal>

</Adresse>
</EtablissementEnseignement>
</T>
</Groupe08>
</Transmission>

标签: xmlxsd

解决方案


我必须下载所有 XSD 文件。XSD 的主要起点是Transmission.xsd。初始验证发出 5 个错误。

  1. file:///e:/Temp/vnk/vnk.xml:8,17:错误“ http://www.mrq.gouv.qc.ca/T5:TypeEnvoi ”元素无效-值“O”根据其数据类型“ http://www.mrq.gouv.qc.ca/T5:Indicateur1-4-6Type ”无效 - 枚举约束失败。
  2. file:///e:/Temp/vnk/vnk.xml:61,14: 错误命名空间“ http://www.mrq.gouv.qc.ca/T5 ”中的元素“Montants”不能包含文本。预期的可能元素列表:名称空间“ http://www.mrq.gouv.qc.ca/T5 ”中的“A_EtudesPostSeconaires、B_FraisScolariteOuExamen、C_Dons” 。
  3. file:///e:/Temp/vnk/vnk.xml:62,36:错误“ http://www.mrq.gouv.qc.ca/T5:A_EtudesPostSeconaires ”元素无效-值“2933”根据其数据类型“字符串”无效 - 模式约束失败。
  4. file:///e:/Temp/vnk/vnk.xml:63,36:错误“ http://www.mrq.gouv.qc.ca/T5:B_FraisScolariteOuExamen ”元素无效-值“500”根据其数据类型“ http://www.mrq.gouv.qc.ca/T5:Decimal9Type ”无效 - 模式约束失败。
  5. file:///e:/Temp/vnk/vnk.xml:64,18:错误“ http://www.mrq.gouv.qc.ca/T5:C_Dons ”元素无效-值“100”根据其数据类型“ http://www.mrq.gouv.qc.ca/T5:Decimal9Type ”无效 - 模式约束失败。

我修复了所有错误。这是您的有效 XML 文件。

XML

<?xml version="1.0"?>
<Transmission VersionSchema="2019.1" xmlns="http://www.mrq.gouv.qc.ca/T5"
              xmlns:xsd="http://www.w3.org/2001/XMLSchema"
              xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
              xsi:schemaLocation="http://www.mrq.gouv.qc.ca/T5 Transmission.xsd">
    <P>
        <Annee>2019</Annee>
        <TypeEnvoi>1</TypeEnvoi>
        <Preparateur>
            <No>NP123456</No>
            <Type>2</Type>
            <Nom1>DNFMDSFJ</Nom1>
            <Nom2>SDSDSDD</Nom2>
            <Adresse>
                <Ligne1>324</Ligne1>
                <Ligne2>107a ave</Ligne2>
                <Ville>Surrey</Ville>
                <Province>BC</Province>
                <CodePostal>V3T0B8</CodePostal>
            </Adresse>
        </Preparateur>
        <Informatique>
            <Nom>joseph</Nom>
            <IndRegional>604</IndRegional>
            <Tel>726-4032</Tel>
            <PosteTel>5467</PosteTel>
            <Langue>A</Langue>
        </Informatique>
        <Comptabilite>
            <Nom>john doe</Nom>
            <IndRegional>604</IndRegional>
            <Tel>720-4932</Tel>
            <PosteTel>3235</PosteTel>
            <Langue>A</Langue>
        </Comptabilite>
        <NoCertification>RQ-19-99-999</NoCertification>
        <NomLogiciel>my company</NomLogiciel>
        <VersionLogiciel>1</VersionLogiciel>
        <CourrielResponsable>myemail@gmail.com</CourrielResponsable>
        <CourrielLangue>A</CourrielLangue>
        <IdPartenaireReleves>1234567891234567</IdPartenaireReleves>
        <IdProduitReleves>1234567891234567</IdProduitReleves>
    </P>
    <Groupe08>
        <R>
            <Annee>2019</Annee>
            <NoReleve>123456789</NoReleve>
            <Etudiant>
                <NAS>123456789</NAS>
                <CodePermanent>AAAA99999999</CodePermanent>
                <NomFamille>george</NomFamille>
                <Prenom>joseph</Prenom>
                <Initiale>N</Initiale>
            </Etudiant>
            <Adresse>
                <Ligne1>1467 107A AVE</Ligne1>
                <Ville>SURREY</Ville>
                <Province>BC</Province>
                <CodePostal>V379B7</CodePostal>
            </Adresse>
            <Montants>
                <A_EtudesPostSecondaires>2933.00</A_EtudesPostSecondaires>
                <B_FraisScolariteOuExamen>500.00</B_FraisScolariteOuExamen>
                <C_Dons>100.00</C_Dons>
            </Montants>
        </R>
        <T>
            <Annee>2019</Annee>
            <NbReleves>1</NbReleves>
            <EtablissementEnseignement>
                <Code>SDRDFSD</Code>
                <Nom1>my college</Nom1>
                <Nom2>surrey</Nom2>
                <Adresse>
                    <Ligne1>14527 109ave</Ligne1>
                    <Ville>surrey</Ville>
                    <Province>BC</Province>
                    <CodePostal>V3T0B8</CodePostal>
                </Adresse>
            </EtablissementEnseignement>
        </T>
    </Groupe08>
</Transmission>

推荐阅读