XML文档篇(二):认识 xsd 文档
发布时间:2023-08-18 09:54:46 作者:翻译技术千千问 浏览量:728
前面介绍了基于 XML 的 DTD,详见:XML文档篇:认识DTD(一)。
今天再来分享一个它的替代者,XML Schema Definition(XSD),也是定义 XML 文档的合法构建模块,非常类似 XSD,也是应用程序本地化中常见的文档。
所以,我们来简单了解一下XML Schema Definition(XSD)。
在看本文前,请确保你已经:
如果不了解,可以点击对应的链接,查看我之前的分享。
XML Schema 的作用是定义 XML 文档的合法构建模块。
其实真的定义跟XSD也差不多~
通过XSD我们可以验证XML是“合法”,同理,我们通过xsd也是为了验证XML是否“合法”。
在这里我用一个翻译包给大家看一下:
文件包里既有xml文档,又有一个 *.xsd 文档。如图1所示。
图1 翻译包截图
其实如果你在自己电脑中检索xsd的话,也会找到很多xsd文档,只不过你可能不知道而已。
比如我在我电脑里用Everything进行检索,就找到超多XSD文档,如图2 所示。
图2 在everything中检索xsd文档截图
OK,这是题外话,我们回到接收到的翻译包。如果打开这两个文档,如图3所示。
图3 XML原文和xsd文档对比
我们发现:
当然还有很多其它的发现~
对XML Schema来说,它可以:
所以说 XML Schema 比 XSD 更强大,而且据说很快会在大部分网络应用程序中取代 XSD。
图4 XSD文档
如图4所示,首先,XSD也是XML文档,所以结构是符合XML的文档结构:
我们看一下XSD的这个构成。
当然,我的原则还是:只认识这个文档,看看它有没有明显的错误,能进行译前分析就好了~
所以,写程序,不是我的初衷,更不是我的目的~
在 XSD 中,元素依然是通过element来进行定义。语法如下:
<xs:element name='xxx' type='yyy'/>
其中:
所以,如图5所示,
图5 XSD的元素和各个元素之间的关系
更多关于XSD的元素和数据类型,你可以去网络上查找~
比如复合元素(complexType)是什么,在这个案例中,其实<Root>、<Customers>就是复合元素。
在 XSD 中,属性通过 attribute 来进行声明。语法如下:
<xs:attribute name='xxx' type='yyy'/>
如图6所示,在右侧XSD中就声明了:
元素<ShipInfo>的属性是ShippedDate,其属性值(左侧XML文档的第65行)应该是日期时间数据类型,也就是在右侧第72行看到的dateTime。
图6 XSD属性声明
更多属性介绍你可以去网络上搜索啦~
当然,其它内容xsd的介绍,大家感兴趣的话可以自行去网络上查找,比如:
通过sequence元素来表示子元素出现的顺序,每个子元素可出现 0 到任意次数。
图7 sequence元素
通过key元素来指定属性或元素值(或一组值)必须是指定范围内的键。
图8 key元素
当然还有其它的,我也不是程序猿,我只能看懂,所以我不班门弄斧了,大家需要去网络上自查啦~
如果你已经懂了XSD是什么,我们下篇继续讲XSD怎么翻译~
当然,听不懂也没关系,真的没关系,其实定义和构成也不是很重要~
但是我们是搞翻译的嘛!又不是搞编程的!
我只要知道文档怎么翻译,保证本地化的质量就好了!!
所以,我们下一篇文章讲方法论,讲XSD怎么翻译~。
好啦今天内容先到这里,再见啦~
- END -
转载来源:职业译员玩转翻译技术
关注微信公众号“语言服务行业”,“翻译技术教育与研究”,了解更多语言服务行业与翻译技术相关的资讯和洞察~
收藏