首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >当XE2包含导入的XSD的

当XE2包含导入的XSD的
EN

Stack Overflow用户
提问于 2021-11-10 08:24:11
回答 1查看 50关注 0票数 0

当XSD包含其他导入的XSD时,引用导入的XSD的XML条目不包括名称空间前缀。

这是具有多个导入的xsd的开始:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema"
xmlns:inv="http://www.aade.gr/myDATA/invoice/v1.0"
xmlns:icls="https://www.aade.gr/myDATA/incomeClassificaton/v1.0" 
xmlns:ecls="https://www.aade.gr/myDATA/expensesClassificaton/v1.0" 
targetNamespace="http://www.aade.gr/myDATA/invoice/v1.0"
elementFormDefault="qualified" 
version="1.0.3">
<xs:import namespace="https://www.aade.gr/myDATA/incomeClassificaton/v1.0" 
schemaLocation="incomeClassification-v1.0.3.xsd"/>
<xs:import namespace="https://www.aade.gr/myDATA/expensesClassificaton/v1.0" 
schemaLocation="expensesClassification-v1.0.3.xsd"/>

生成的示例XML如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0"?>
<!--XML document created with Delphi XE2 by Three Plus Ltd-->
<InvoicesDoc xmlns="http://www.aade.gr/myDATA/invoice/v1.0" 
xmlns:icls="https://www.aade.gr/myDATA/incomeClassificaton/v1.0" 
xmlns:ecls="https://www.aade.gr/myDATA/expensesClassificaton/v1.0">
<invoice>
<uid>1</uid>
<mark>240254</mark>
<issuer>
  <vatNumber>084110672</vatNumber>
  <country>GR</country>
  <branch>0</branch>
</issuer>
<counterpart>
  <vatNumber>052354924</vatNumber>
  <country>GR</country>
  <branch>0</branch>
  <address>
    <postalCode></postalCode>
    <city>ΑΓΙΑ ΒΑΡΒΑΡΑ</city>
  </address>
</counterpart>
<invoiceHeader>
  <series>Β</series>
  <aa>59</aa>
  <issueDate>2021-01-07</issueDate>
  <invoiceType>1.1</invoiceType>
  <currency>EUR</currency>
</invoiceHeader>
<paymentMethods>
  <paymentMethodDetails>
    <type>3</type>
    <amount>254.68</amount>
  </paymentMethodDetails>
</paymentMethods>
<invoiceDetails>
  <lineNumber>1</lineNumber>
  <netValue>205.39</netValue>
  <vatCategory>1</vatCategory>
  <vatAmount>49.29</vatAmount>
  <incomeClassification>
    <classificationType>E3_561_001</classificationType>
    <classificationCategory>category1_1</classificationCategory>
    <amount>205.39</amount>
  </incomeClassification>
</invoiceDetails>
<invoiceSummary>
  <totalNetValue>205.39</totalNetValue>
  <totalVatAmount>49.29</totalVatAmount>
  <totalWithheldAmount>0.00</totalWithheldAmount>
  <totalFeesAmount>0.00</totalFeesAmount>
  <totalStampDutyAmount>0.00</totalStampDutyAmount>
  <totalOtherTaxesAmount>0.00</totalOtherTaxesAmount>
  <totalDeductionsAmount>0.00</totalDeductionsAmount>
  <totalGrossValue>254.68</totalGrossValue>
  <incomeClassification>
    <classificationType>E3_561_001</classificationType>
    <classificationCategory>category1_1</classificationCategory>
    <amount>205.39</amount>
  </incomeClassification>
</invoiceSummary>
</invoice>
</InvoicesDoc>

这个XML不能通过验证,因为IncomeClassification条目应该包括前缀"icls“,如下所示:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<?xml version="1.0"?>
<!--XML document created with Delphi XE2 by Three Plus Ltd-->
<InvoicesDoc xmlns="http://www.aade.gr/myDATA/invoice/v1.0" 
xmlns:icls="https://www.aade.gr/myDATA/incomeClassificaton/v1.0" 
xmlns:ecls="https://www.aade.gr/myDATA/expensesClassificaton/v1.0">
<invoice>
<uid>1</uid>
<mark>241108</mark>
<issuer>
  <vatNumber>084110672</vatNumber>
  <country>GR</country>
  <branch>0</branch>
</issuer>
<counterpart>
  <vatNumber>130197574</vatNumber>
  <country>GR</country>
  <branch>0</branch>
  <address>
    <postalCode>12135</postalCode>
    <city>ΠΕΡΙΣΤΕΡΙ</city>
  </address>
</counterpart>
<invoiceHeader>
  <series>Β</series>
  <aa>274</aa>
  <issueDate>2021-01-16</issueDate>
  <invoiceType>1.1</invoiceType>
  <currency>EUR</currency>
</invoiceHeader>
<paymentMethods>
  <paymentMethodDetails>
    <type>5</type>
    <amount>45.50</amount>
  </paymentMethodDetails>
</paymentMethods>
<invoiceDetails>
  <lineNumber>1</lineNumber>
  <netValue>36.70</netValue>
  <vatCategory>1</vatCategory>
  <vatAmount>8.80</vatAmount>
  <incomeClassification>
    <icls:classificationType>E3_561_001</icls:classificationType>
    <icls:classificationCategory>category1_1</icls:classificationCategory>
    <icls:amount>36.70</icls:amount>
  </incomeClassification>
</invoiceDetails>
<invoiceSummary>
  <totalNetValue>36.70</totalNetValue>
  <totalVatAmount>8.80</totalVatAmount>
  <totalWithheldAmount>0.00</totalWithheldAmount>
  <totalFeesAmount>0.00</totalFeesAmount>
  <totalStampDutyAmount>0.00</totalStampDutyAmount>
  <totalOtherTaxesAmount>0.00</totalOtherTaxesAmount>
  <totalDeductionsAmount>0.00</totalDeductionsAmount>
  <totalGrossValue>45.50</totalGrossValue>
  <incomeClassification>
    <icls:classificationType>E3_561_001</icls:classificationType>
    <icls:classificationCategory>category1_1</icls:classificationCategory>
    <icls:amount>36.70</icls:amount>
  </incomeClassification>
</invoiceSummary>
</invoice>
</InvoicesDoc>

有没有一种方法可以更改向导创建的单元,以生成带前缀的正确XML?

EN

回答 1

Stack Overflow用户

发布于 2021-11-12 05:16:04

我终于找到了一个办法来手动添加前缀:

首先为所有三个条目声明变量(这里只显示第一个):

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nodeClassificationType:IXMLNode;

然后替换代码:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
IncomeClassificationType.ClassificationType:='xxxxxx'

通过以下方式:

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
nodeClassificationType:=
  IncomeClassificationType.AddChild('icls:classificationType');
nodeClassificationType.Text:='xxxxx'

它完美地工作了!!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69916785

复制
相关文章
eclipse导入本地xsd文件(新手慎入)
eclipse使用xsd文件可以辅助编辑xml文件。如果我们自定义了schema文件,需要导入到xml catalog才可以生效。
pollyduan
2019/11/04
1.7K0
XmlSpy / XSD 以及 验证
很早以前看过一句话:“XML就象空气”,在企业应用开发中XML是一个重要的数据交换标准。而XSD则可以用来校验XML的数据格式是否正确。 一个典型的XSD文件如下: 1 <?xml version=
菩提树下的杨过
2018/01/24
1.8K0
XmlSpy / XSD 以及 验证
当flex容器中包含absolute元素时
我们设置了justify-content: center;,不同机型显示区别如下:
celineWong7
2020/11/05
3.7K0
Excel导入-----导出(包含所选和全部)操作
在做系统的时候,很多时候信息量太大,这时候就需要进行Excel表格信息的导入和导出,今天就来给大家说一下我使用Excel表格信息导入和导出的心得。
wfaceboss
2019/04/08
1.1K0
怎么写xsd文件
<!–一个根元素:greeting;且这个元素不含属性,无子元素,内容是字符串。–>
全栈程序员站长
2022/11/17
3.8K0
XSD文件结构详解
<xs:schema xmlns:xs=”http://www.w3.org/2001/XMLSchema” 表示数据类型等定义来自w3
全栈程序员站长
2022/11/17
3.1K0
vue+element-ui的简洁导入导出功能【包含上传到云】
这个一般还是很常见的, 原理是将文件存储到云端,返回一个存贮地址存在本地服务器, cos存储过程:鉴权===分片上传===成功返回存储地址 tencent的cos存贮
火狼1
2019/04/17
2.6K0
当expandlistview的getGroupView或者getChildView中包含checkbox时,前者点击不可用
当expandlistview的getGroupView或者getChildView中包含checkbox时,前者点击不可用。
103style
2022/12/19
2970
xsd 自定义list 实现
最近需要跟第三方连调接口,在针对返回xml解析的时候,生成xsd响应报文,返回一个list集合
执笔记忆的空白
2020/12/25
7430
用R进行文本分析初探——包含导入词库和和导入李白语句
用R进行文本分析初探——以《红楼梦》为例 一.写在前面的话~   刚吃饭的时候同学问我,你为什么要用R做文本分析,你不是应该用R建模么,在我和她解释了一会儿后,她嘱咐我好好写这篇博文,嗯为了娟儿同学,细细说一会儿文本分析。 文本数据挖掘(Text Mining)是指从文本数据中抽取有价值的信息和知识的计算机处理技术。顾名思义,文本数据挖掘是从文本中进行数据挖掘(Data Mining)。从这个意义上讲,文本数据挖掘是数据挖掘的一个分支。 文本分析是指对文本的表示及其特征项的选取;文本分析是文本挖掘、信息
学到老
2018/03/19
2.4K1
用R进行文本分析初探——包含导入词库和和导入李白语句
Mastercam 当车削导入实体时,如何快速对齐轴向?
数控编程、车铣复合、普车加工、Mastercam、行业前沿、机械视频,生产工艺、加工中心、模具、数控等前沿资讯在这里等你哦
lrglu
2023/10/24
3900
Mastercam 当车削导入实体时,如何快速对齐轴向?
SyntaxError: Non-ASCII character '\xe2' in file
SyntaxError: Non-ASCII character '\xe2' in file意思是说,在文件中存在非ASCII字符; ASCII是8位即一个字符,一共256个字符,随着计算机的发展,现在已经用到2个或者4个字符; 建议在【文件头】追加: 123# -*- coding: cp936 -*-或者# -*- coding: utf-8 -*-或者#coding=utf-8 更复杂的形式要进行编码和解码。
狼啸风云
2020/02/11
1.3K0
Python的绝对导入和相对导入
Python 相对导入与绝对导入,这两个概念是相对于包内导入而言的。包内导入即是包内的模块导入包内部的模块。
狼啸风云
2019/11/27
4.5K0
模块的导入
假设有两个模块xmlreader.py和csvreader.py,它们都定义了函数read_data(filename):用来从文件中读取一些数据,但采用不同的输入格式。可以编写代码来选择性地挑选读取模块,例如
py3study
2020/01/21
1K0
当elementui的el-dialog组件中包含子组件时,用refs调用子组件时的undefined问题
今天用elementui写了一个el-dialog组件里面包着一个el-transfer穿梭框组件, 代码
李维亮
2021/07/08
1.5K0
包含 min 函数的栈
定义栈的数据结构,请在该类型中实现一个能够得到栈的最小元素的 min 函数,在该栈中,调用 min、push 及 pop 的时间复杂度都是 O(1)。
五分钟学算法
2022/01/05
8080
包含 min 函数的栈
包含 min 函数的栈
使用一个额外的 minStack,栈顶元素为当前栈中最小的值。在对栈进行 push 入栈和 pop 出栈操作时,同样需要对 minStack 进行入栈出栈操作,从而使 minStack 栈顶元素一直为当前栈中最小的值。在进行 push 操作时,需要比较入栈元素和当前栈中最小值,将值较小的元素 push 到 minStack 中。
MickyInvQ
2021/12/07
6610
包含 min 函数的栈
点击加载更多

相似问题

针对包含XSD的xsd验证XML :不带位置的导入

20

中包含其他xsd导入的xsd中的JAXB类出错。

16

XSD混淆:导入和/或包含

12

如何使用XSD导入/包含其他XSD文件来验证xml?

11

当从XSD生成XML文件时,将XSD导入/包含到另一个XSD文件的预期效果是什么?

17
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
查看详情【社区公告】 技术创作特训营有奖征文