xml - 使用 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>
解决方案
我必须下载所有 XSD 文件。XSD 的主要起点是Transmission.xsd。初始验证发出 5 个错误。
- 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 ”无效 - 枚举约束失败。
- 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” 。
- file:///e:/Temp/vnk/vnk.xml:62,36:错误“ http://www.mrq.gouv.qc.ca/T5:A_EtudesPostSeconaires ”元素无效-值“2933”根据其数据类型“字符串”无效 - 模式约束失败。
- 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 ”无效 - 模式约束失败。
- 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>
推荐阅读
- javascript - 如何从时间戳中获取日期?
- control-m - Control-M 输出条件在末尾添加了数字
- javascript - 密码重置令牌在 Node.js 中无效或已过期
- python - 在 neo4j 沙箱中哪里可以找到 apoc.conf
- java - 如何使用Java在sql查询中传递多个参数?
- multiple-databases - 在 dbeaver 中使用多个数据库(连接)进行查询
- javascript - 尝试将属性从一个对象分配给另一个对象时出现 TypeScript 错误
- python - 为什么 Reticulate 不能运行 twint
- xslt - 如何在 XSLT Oxygen 中使用 Key
- javascript - 我想问一下有没有办法缩短这个三元语句?