OpenCms自定义结构化类型的高级设置

  接着上一篇OpenCms自定义结构化类型的创建,我们来进一步完善自定义的“TestNews”类型,主要是完成对自定义字段的数据验证、数据映射和默认值设置,完善后的XSD代码如下:


< xsd:schema  xmlns:xsd ="http://www.w3.org/2001/XMLSchema"  elementFormDefault ="qualified" >

    
< xsd:include  schemaLocation ="opencms://opencms-xmlcontent.xsd" />
        
    
< xsd:element  name ="TestNewss"  type ="OpenCmsTestNewss" />
    
    
< xsd:complexType  name ="OpenCmsTestNewss" >
        
< xsd:sequence >
            
< xsd:element  name ="TestNews"  type ="OpenCmsTestNews"  minOccurs ="0"  maxOccurs ="unbounded" />
        
xsd:sequence>
    
xsd:complexType>

    
<xsd:complexType name="OpenCmsTestNews">
        
<xsd:sequence>
            
<xsd:element name="Title" type="OpenCmsString" />
            
<xsd:element name="Date" type="OpenCmsDateTime" />            
            
<xsd:element name="Text" type="OpenCmsHtml" />
        
xsd:sequence>
        
<xsd:attribute name="language" type="OpenCmsLocale" use="required"/>
    
xsd:complexType>

    
<xsd:annotation>
        
<xsd:appinfo>
            
<resourcebundle name="org.opencms.testnews.workplace"/>
            
<preview uri="${previewtempfile}" />
            

            
<validationrules>
                
<rule element="Title" regex="^.*[S]+.*$"  message="${key.editor.errormessage.TestNews.mustnotempty}"/>
            

            
validationrules>
            

            
<mappings>
                
<mapping element="Title" mapto="property:Title" />
            
mappings>
            

            

            
<defaults>
                
<default element="Date" value="${currenttime}"/>
            
defaults>
            

        
xsd:appinfo>

    
xsd:annotation>  
xsd:schema>

  数据验证由正则表达式完成,如上述代码中的regex="^.*[S]+.*$" ,提示信息由“message="${key.editor.errormessage.TestNews.mustnotempty}”设置,需要在worlkplace.properties中增加 “editor.errormessage.TestNews.mustnotempty=标题不允许为空!”,这样在编辑TestNews类型新闻时,如果为空,编辑器即会提示错误信息,如下图:

   映射字段Title信息至属性“Title,也就是在工作区中右侧资源列表中的标题字段显示的就是TextNews中标题信息的内容。

   设置字段Date默认值中,value="${currenttime}为系统定义的宏,取得是系统的当前时间。
  (谢谢关注OpenCms——中文资源第一博客http://blog.csdn.net/qianxuncms/,欢迎与作者直接交流,共同进步。MSN:qianxuncms@hotmail.com,QQ:9165456)




  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值