Editing and Validating XML Document Example Readme

这是一系列示例,展示了如何使用XML编辑器中的引导编辑功能来编辑和验证XML文件。

示例描述
Invoice展示了DTD文件(Invoice.dtd)如何在编辑XML文件(Invoice.xml)时提供编辑帮助。
PublicationCatalogue本示例展示了如何在XML模式文件中定义substitutionGroup,并在XML实例文档中使用该替换。
GolfCountryClub本示例定义了一个高尔夫乡村俱乐部的XML模式。它展示了枚举、本地类型、选择和扩展复杂类型(继承)的使用。

Editing Invoice.xml

Invoice.dtd文件提供了定义Invoice.xml文件内容的规则。它通过DOCTYPE声明与Invoice.xml关联。

Sequence content model

Invoice元素具有如下内容模型:

<ELEMENT Invoice (Header, Items+)>
  • 这意味着Invoice元素可以有一个Header元素,后面跟多个Items元素。
  • 在XML编辑器的设计视图中,选择Invoice元素。从弹出菜单中选择Add Child -> Item以向Invoice元素添加一个Item。您可以重复此操作以向Invoice元素添加任意数量的Item。

Choice content model

Date元素具有如下内容模型:

<ELEMENT Date ((Month, Day, Year) | (Day, Month, Year))>
  • 这意味着Date可以是Month后跟Day再后跟Year的格式,或者Day后跟Month再后跟Year的格式。
  • 您可以在XML编辑器的设计视图中轻松地在这两种组之间切换:首先多选Month、Day和Year元素(按住Ctrl键同时选择它们)。然后从弹出菜单中选择Replace With -> (Day, Month, Year)以将其替换为第二组。

Enumerated attribute type

Item 元素有一个 discount 属性,其值可以设置为 promotionregular。在 XML 编辑器的设计视图中,选择 discount 属性。将出现一个组合框,您可以在其中选择两个值之间的一个。或者,在源视图中,选择内容以帮助为 discount 属性选择两个值。


Using Subsitutions Groups 使用替换组

XML Schema 允许将命名元素组替换为其他元素。Catalogue.xsd 文件声明 BookMagazinePublication 的替换组中:

<element name="Book" type="Catalogue:BookType" substitutionGroup="Catalogue:Publication"/>
<element name="Magazine" type="Catalogue:MagazineType" substitutionGroup="Catalogue:Publication"/>

Catalogue 的内容可以是替换组中的任何元素。在 XML 编辑器的设计视图中,选择 Catalogue 元素上的“添加子菜单”。注意,BookMagazine 都可以用作 Publication 元素的内容。此外,我们声明 Publication 元素为抽象的,以防止在实例文档中直接使用 Publication 元素。


XML Schema - 高尔夫乡村俱乐部示例

Inheritance 继承

GolfCountryClub.xsd 定义了从其他复杂类型扩展内容的各种类型。特别是,查看各种成员类型和 EmployeeType,它们都扩展了 PersonType

####Enumerations 枚举

您可以通过在模式中定义枚举来限制实例文档中元素允许的值。例如,查看模式中的简单类型 ClubKindType。然后,在 XML 编辑器中查看实例文档 GolfCountryClub.xml 中的 ClubKind 元素。


当然,以下是图片内容的翻译:


Choices选择

类似于发票示例,您可以选择特定元素的不同内容模型。在高尔夫乡村俱乐部示例中,会员可以是受限的、常规的或专属的。

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值