我对XML词汇表有疑问。
XML模式是DTD的替代方案。 XSLT是XML的样式表
我清楚XML架构和XSLT。
但是什么是XML词汇表? 它也与XML模式或DTD类似,或者它是一个定义良好的XML模式的集合?
很抱歉问这个愚蠢的问题,我谷歌搜索了一个多小时,找到了什么是XML词汇,但我对XML词汇表没有清晰的认识。
我在浏览时得到了这样的东西
预订XML词汇 - 仅用于标记图书数据:
<Book>
<Title>The Wisdom of Crowds</Title>
<Classification>non-fiction</Classification>
<Author>James Surowiecki</Author>
</Book>
音乐XML词汇 - 仅用于标记音乐数据:
<Musical-Score>
<Work>Winterreise</Work>
<Genre>classical</Genre>
<Composer>Franz Schubert</Composer>
</Musical-Song>
这里标记了相同的数据,这次使用单个通用XML 词汇:
组合XML词汇表 - 用于标记任何文学数据:
<Composition class="Book">
<Title>The Wisdom of Crowds</Title>
<Category>non-fiction</Category>
<Creator>James Surowiecki</Creator>
</Composition>
<Composition class="Musical-Score">
<Title>Winterreise</Title>
<Category>classical</Category>
<Creator>Franz Schubert</Creator>
</Composition>
看到这个之后,我仍然感到困惑,为什么以及它如何有用?
答案 0 :(得分:3)
例如,我们假设您想要代表个人信息。在HTML中,你必须使用预定义的词汇表(因为它不允许你创建自己的词汇表)所以你可以代表一个人如下
<h1>Bob Joe</h1>
<table>
<tr>
<th>Age</th>
<th>Weight</th>
</tr>
<tr>
<td>30</td>
<td>140</td>
</tr>
</table>
XML可让您创建自己的词汇或标签,这些内容很有意义,如下例所示。您甚至可以使用XSD或DTD限制词汇表(以便简化信息的交换和处理)。
<Person>
<Name>Bob Joe</Name>
<Age>30</Age>
<Weight>140<Weight>
</Person>
使用XSD创建词汇表之后,您可以使用 xsi namespacce 将其与XML实例相关联,如下所示
<Person
xmlns="MyDefaultNamespace"
xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance
xsi:schemaLocation="MyDefaultNamespace Person.xsd">
<Name>Bob Joe</Name>
<Age>30</Age>
<Weight>140<Weight>
</Person>
程序可以使用特定语言提供的api以编程方式验证XML实例。许多语言都有这种支持。还有一些工具可以生成解析和创建符合XSD的xml的代码。
答案 1 :(得分:3)
术语“XML词汇表”在XSD或DTD的方式上没有精确的含义。人们使用该术语来表示“元素和属性名称的集合,其中包含其含义及其结构关系和约束的定义”。模式或DTD可能是其中的一部分,但重点在于元素的含义,这可能涉及英语或其他自然语言的文档。因此,例如“MusicXML模式”允许您区分有效实例和无效实例,但“MusicXML词汇表”告诉您特定元素/属性表示具有给定音高,持续时间和响度的音符。
答案 2 :(得分:1)
XML是创建不同的基于XML的文档的基础,例如:XSLT,SOAP,RSS,SVG等。这些文档是XML文档,但同时它们具有使用XSD,DTD或任何其他机制定义的自己的XML词汇表XML词汇描述。
答案 3 :(得分:0)
这些是基本xml之上的标准。 例如,用于&gt; SOAP,UDDI和WSDL