`

综合(子元素和属性)复杂内容元素

XML 
阅读更多
二级子元素的复杂内容元素:
例:
XML文档:
<?xml version="1.0"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="015.xsd">
    <book>
        <id>001</id>
        <name>XML学习天下</name>
        <author>张三</author>
        <author>李四</author>
        <price>88.50</price>
    </book>
    <book>
        <id>002</id>
        <name>XML百例</name>
        <author>张三</author>
        <author>李四</author>
        <author>赵五</author>
        <price>68.00</price>
    </book>
</books>

Schema文档:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="books">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="book" maxOccurs="unbounded">
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="id" type="xs:integer"/>
                            <xs:element name="name" type="xs:string"/>
                            <xs:element name="author" type="xs:string" maxOccurs="3"/>
                            <xs:element name="price" type="xs:decimal"/>
                        </xs:sequence>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

含有子元素和属性的复杂内容元素:
例:
XML文档:
<?xml version="1.0"?>
<books xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="016.xsd">
    <book id="001">
        <name>XML学习天下</name>
        <author>张三</author>
        <author>李四</author>
        <price>88.50</price>
    </book>
    <book id="002">
        <name>XML百例</name>
        <author>张三</author>
        <author>李四</author>
        <author>赵五</author>
        <price>68.00</price>
    </book>
</books>

Schema文档:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="books">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="book" maxOccurs="unbounded">  /unbounded:不限制,在这里表示不限制book元素的数量
                    <xs:complexType>
                        <xs:sequence>
                            <xs:element name="name" type="xs:string"/>
                            <xs:element name="author" type="xs:string" maxOccurs="3"/>
                            <xs:element name="price" type="xs:decimal"/>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:integer"/>
                    </xs:complexType>
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
</xs:schema>

注:该Schema文档结构分明,但层次过多,可以采取引用名称的方法。
上面的Schema文档可改为:
<?xml version="1.0"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema">
    <xs:element name="books">
        <xs:complexType>
            <xs:sequence>
                <xs:element name="book" maxOccurs="unbounded" type="book_element">
                </xs:element>
            </xs:sequence>
        </xs:complexType>
    </xs:element>
    <xs:complexType name="book_element">
        <xs:sequence>
            <xs:element name="name" type="xs:string"/>
            <xs:element name="author" type="xs:string" maxOccurs="3"/>
            <xs:element name="price" type="xs:decimal"/>
        </xs:sequence>
        <xs:attribute name="id" type="xs:integer"/>
    </xs:complexType>
</xs:schema>
分享到:
评论

相关推荐

    HTML中的多媒体元素应用,基础的HTML多媒体元素的应用教学

    - **PNG格式**:无损压缩,支持透明度,适合复杂图像和图标。 选择合适的图像格式对于优化网页加载速度和保持高质量的视觉体验非常重要。 #### 五、总结 HTML中的多媒体元素,尤其是图像元素,在网页设计中起着至...

    css子元素相对父元素进行定位的实现

    ### CSS子元素相对父元素进行定位的实现 #### 解决方案概述 在Web开发中,经常需要对页面中的元素进行精确...通过这种方式,我们可以轻松地控制子元素相对于父元素的位置,这对于构建复杂且灵活的网页布局至关重要。

    CSS元素的浮动与定位综合案例1.pdf

    总的来说,这个综合案例1展示了如何巧妙地运用CSS的浮动和定位属性来构建复杂的网页布局。通过相对定位保持整体结构的灵活性,通过绝对定位确保各个元素的精确对齐,最终创造出具有独特视觉效果的画册式网页。学习和...

    界面设计-变换属性综合案例.pptx

    在这个“界面设计-变换属性综合案例”中,我们将探讨界面设计中的一个关键元素——动态效果及其基础动画制作,特别是如何利用变换属性来增强界面的视觉吸引力和交互性。 在界面设计中,动态效果可以提升用户的参与...

    CSS综合案例4,静态的轮播图

    2. 展示单个内容:轮播图一次只显示一个内容,我们可以通过设置子元素的`display`属性来控制。默认情况下,所有子元素都应隐藏(`display: none;`),然后通过CSS选择器只显示当前激活的内容(如`display: block;`)...

    在VC中使用属性页的五种方法

    属性页是一种常见的用户界面元素,用于将复杂界面分成多个独立的、可切换的页面,每个页面展示一组相关设置或功能。描述中提到的“前四种方法很容易实现”,暗示了文章可能介绍了五种不同的技术或技巧,其中前四种...

    绝对定位元素被遮挡的解决方法

    在实际开发中,对于复杂的页面布局,解决绝对定位元素被遮挡的问题可能需要更深入地分析CSS的层级机制和其他影响布局的属性。熟练运用这些知识,才能有效避免元素间的层级冲突,制作出布局合理、视觉效果优秀的网页...

    自定义控件,类似淘宝网页属性选择

    如果是包含多个子元素的容器,继承ViewGroup。 2. **重写构造函数**:通常需要重写至少一个构造函数,以提供必要的初始化参数。 3. **绘制控件**:在`onDraw()`方法中使用Canvas对象进行绘图,可以使用`drawRect()...

    WPF布局全接触,多种布局分析

    布局控件通过测量和排列子元素来确定它们在屏幕上的位置和大小。其中,`Margin`和`Padding`属性分别控制元素间的间距和内容与边界的距离,而`FlowDirection`属性决定内容的显示方向,`Panel.ZIndex`控制元素的堆叠...

    综合性的jQuery路径查找库插件

    而针对更复杂的页面元素查找需求,jQuery提供了一系列路径查找方法,形成了一个综合性的路径查找库插件。本文将深入探讨这个插件的功能、使用方法以及它在实际开发中的应用。 一、jQuery的基本选择器 jQuery的选择...

    入门教程 CSS属性.pdf

    - **描述**: `background` 是一个综合性的属性,它允许开发者一次性设置多个背景相关的子属性。这对于简化代码、提高开发效率非常有用。 - **子属性**: - `background-color`: 设置背景颜色。 - `background-image...

    css样式表电子书大综合

    通过分离内容和表现,使得网页设计更加灵活且易于维护。CSS2是第二版CSS规范,引入了许多新特性,如浮动元素、定位和透明度等。 2. **选择器**:CSS选择器是匹配HTML或XML元素的规则,比如`#id`用于选择ID为特定值...

    xml实用教程第4章XML文档类型定义.pdf

    例如,一个`&lt;book&gt;`元素可能包含`&lt;title&gt;`、`&lt;author&gt;`、`&lt;publisher&gt;`和`&lt;price&gt;`等子元素。 4.3 DTD属性 属性是附加在元素上的信息,用来描述元素的特性。属性可以进一步限定元素的行为或提供额外的元数据。例如...

    CSSdiv综合学习资料

    3. **继承与优先级**:子元素会继承父元素的一些样式,但特定情况下的样式可以通过增加选择器的特异性来提高优先级,如使用id选择器(#)、类选择器(.)或元素选择器(元素名)。 **div元素** 1. **块级元素**:...

    专题资料(2021-2022年)《XML》实验指导书吐血推荐史上最全精华版.doc

    元素可以包含文本、子元素或属性。例如,`&lt;room&gt;`元素可能包含`&lt;roomNumber&gt;`、`&lt;roomType&gt;`等子元素来表示客房信息。 4. **属性**:元素可以有属性,如`&lt;room number="101"&gt;`,其中`number`就是属性名,"101"是...

    用CSS知识完成CSS综合练习一

    组合选择器如后代选择器(`div p`)、子选择器(`div &gt; p`)和相邻兄弟选择器(`div + p`)则能更精确地定位元素。 2. **布局**:CSS布局包括流体布局、响应式布局和网格布局。流体布局使元素随浏览器窗口大小变化...

    Grid布局综合Demo案例

    Grid容器是布局的核心,它可以包含多个Grid项(或称为子元素)。通过设置`display: grid`,我们可以将父元素转换为Grid容器。然后,我们可以通过定义行和列的大小来创建网格结构,这可以通过`grid-template-rows`和`...

    第七章 数字系统_综合.pdf

    数据通路由寄存器、功能单元、多路选择器和总线等组成,而控制器则负责控制这些元素的数据传输。高层次综合的目标是找到最优化的硬件结构,既能实现预期功能,又能满足设计约束。 逻辑综合是将RTL级别的描述转化为...

    期末考试安卓综合实验复习可参考

    2. **LinearLayout**:如果默认的RadioGroup排列方式无法满足需求,可以考虑使用LinearLayout作为RadioGroup的父布局,并通过`android:orientation`属性控制子元素的排列方式。将RadioButtons作为LinearLayout的子...

    WPF揭秘(中文版)第五章 尺寸缩放、定位与变换元素.pdf

    3. **DockPanel**:停靠面板自动将子元素按照停靠位置排列,通常用于创建工具栏或者侧边栏等界面元素。 4. **StackPanel**:堆栈面板则按水平或垂直方向线性排列元素,适合创建简单的列表或导航菜单。 ### 三、变换...

Global site tag (gtag.js) - Google Analytics