`

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

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>
分享到:
评论

相关推荐

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

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

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

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

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

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

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

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

    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. **块级元素**:...

    用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的子...

    实验3 CSS综合应用.rar

    组合选择器如子选择器(`&gt;`)、相邻兄弟选择器(`+`)和一般兄弟选择器(`~`)可帮助我们更精确地定位元素。 2. **属性与值**:CSS属性定义了元素的外观和行为,如`color`、`font-size`、`background-color`等。每...

    JavaScript DOM 编程艺术 Put It All Together

    JavaScript DOM(Document Object Model)编程艺术是Web开发中的核心技能之一,它允许开发者通过脚本语言操作HTML或XML文档的结构、内容和样式。在这个"Put It All Together"的例子中,我们将深入理解如何综合运用...

    CSS2.0+CSS3.0的chm文档

    4. **层叠和继承**:CSS的核心特性之一,允许样式按照特定规则叠加,并且子元素能从父元素继承样式。 5. **多列布局**:CSS2.0引入了多列布局的概念,为复杂布局提供了可能。 CSS3.0作为CSS的最新版本,进一步增强...

    电子宠物网站第二章.rar

    最后,为了吸引和保持用户,定期更新内容和活动,以及实施有效的营销策略,如社交媒体推广、邮件订阅等,都是维持网站活力的关键。 总的来说,电子宠物网站“我的宝贝儿”是一个结合了虚拟宠物养成、社交互动和在线...

    css帮助文档

    组合选择器则允许同时选择多个元素,如子元素选择器(`&gt;`)、相邻兄弟选择器(`+`)和一般同胞选择器(`~`)。 2. **属性和值**:每个CSS规则由一个或多个声明组成,每个声明包含一个属性和对应的值,如`color: red...

    简单左右连续滚动

    通过调整容器的`width`和子元素的`width`,可以实现超出容器边界的效果,从而形成滚动的基础。 3. **JavaScript交互**:JavaScript负责实现滚动的动态效果。可以通过监听用户的点击事件(如左右箭头)或者自动...

    原生JS经典小项目-网页布局

    例如,可以使用JS动态设置容器的`display: flex`,并通过`.style.flexGrow`、`.style.flexShrink`和`.style.flexBasis`调整子元素的弹性属性。 2. **Grid布局**:类似地,JS也可以操作CSS Grid属性,如`grid-...

    js右下角悬浮提示框可最大化、最小化和关闭.zip

    例如,为了创建一个提示框,可能需要创建`div`元素作为容器,然后添加其他如按钮等子元素。此外,还需要使用`innerHTML`或`textContent`属性来设置元素的文本内容。 2. **事件处理**:为了实现提示框的交互功能,...

    html5 css3电子书本翻书动画特效

    此外,CSS3的`perspective`属性也很重要,它为元素及其子元素提供了透视效果,使得3D转换更加真实。通过设置合适的`perspective`值,可以让翻页动画看起来更立体。 为了实现电子书翻页的交互性,我们还需要...

Global site tag (gtag.js) - Google Analytics