以文本方式查看主题

-  中文XML论坛 - 专业的XML技术讨论区  (http://bbs.xml.org.cn/index.asp)
--  『 DTD/XML Schema 』  (http://bbs.xml.org.cn/list.asp?boardid=23)
----  [求助]schema中的元素和属性的default问题求解  (http://bbs.xml.org.cn/dispbbs.asp?boardid=23&rootid=&id=38331)


--  作者:looong
--  发布时间:9/26/2006 10:05:00 PM

--  [求助]schema中的元素和属性的default问题求解
大家好,我刚学schema,遇到个问题,自己试验了老半天没有得到答案,在论坛上也没有找到类似的问题,只好在这里问了,希望各位帮忙,先谢谢了。
问题:schema中,元素和属性的default到底有什么用,我在schema中这样定义

<?xml version="1.0" encoding="gb2312"?>
<!-- code4_4.xsd -->
<xsd:schema xmlns:xsd="http://www.w3.org/2001/XMLSchema">
 <xsd:element name="price" type="xsd:integer" default="10" />
</xsd:schema>

然后在xml文档中写入:


<?xml version="1.0" encoding="UTF-8"?>
<price xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="F:\XML\XML_source\ch4\code4_4.xsd" />



然后在浏览器中打开xml文档,并没有在<price>添加我默认的10???
我看不出来,在schema中添加或者不添加default有什么不同????


--  作者:lgz-xjnzy
--  发布时间:9/27/2006 12:45:00 AM

--  
我也遇到同样的问题,急需得到解答
--  作者:gemingke
--  发布时间:9/27/2006 6:55:00 PM

--  
浏览器自然不会给你自动添加

这里的默认是指在生成该文档时,你没有去处理这个元素,那么,就会按默认值给出该元素。

现在你已经编辑过该元素了,自然无效。


--  作者:looong
--  发布时间:9/28/2006 7:21:00 AM

--  
能否给个小例子说明一下,我想确切的看到这个default定义的值什么时候出现了
--  作者:gemingke
--  发布时间:9/28/2006 11:28:00 AM

--  
你用xmlspy,通过schema来自动生成xml文档
--  作者:looong
--  发布时间:9/28/2006 8:35:00 PM

--  

用这样一个schema
<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" elementFormDefault="qualified" attributeFormDefault="unqualified">
<xs:element name="book">
      <xs:complexType>
          <xs:sequence>
 <xs:element name="title" type="xs:string"/>
 <xs:element name="price" type="xs:integer" default="10"/>
         </xs:sequence>
      </xs:complexType>
</xs:element>
</xs:schema>
自动生成xml文件如下

<?xml version="1.0" encoding="UTF-8"?>
<book xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="default.xsd">
 <title/>
 <price/>
</book>
<price>内没有添加default的值--"10"呀,但是这样验证是可以成功的,就是说default已经起了作用。把schema文件中的default去掉,生成的xml和现在没有区别,但是验证就不能通过。我怎样才能看到这个10呢。
我把生成的xml文件用数据岛加入到html文件中,也显示不出来



--  作者:gemingke
--  发布时间:9/29/2006 6:17:00 PM

--  
困惑ing。。。。。
--  作者:looong
--  发布时间:10/1/2006 8:36:00 PM

--  
在xmlspy,用一个带default值得schema生成xml,虽然没有自动填入default的值,但是,往元素中添加内容的时候,会提示那个defaut的值。

谢谢gemingke,祝双节快乐


W 3 C h i n a ( since 2003 ) 旗 下 站 点
苏ICP备05006046号《全国人大常委会关于维护互联网安全的决定》《计算机信息网络国际联网安全保护管理办法》
62.500ms