Foros del Web » Creando para Internet » Diseño web »

OpenCms 6 - Validación de esquemas xsd

Estas en el tema de OpenCms 6 - Validación de esquemas xsd en el foro de Diseño web en Foros del Web. buenas a todos, tengo un problemita con la validación de campos de un esquema en OpenCms. El caso es que he creado un nuevo recurso ...
  #1 (permalink)  
Antiguo 07/07/2008, 06:26
 
Fecha de Ingreso: noviembre-2007
Mensajes: 81
Antigüedad: 17 años
Puntos: 0
OpenCms 6 - Validación de esquemas xsd

buenas a todos, tengo un problemita con la validación de campos de un esquema en OpenCms.

El caso es que he creado un nuevo recurso llamado "enlace" tal y como se muestra a continuación:

<xsd:complexType name="OpenCmsEnlace">
<xsd:sequence>
<xsd:element name="Texto" type="OpenCmsString" minOccurs="0" maxOccurs="1"/>
<xsd:element name="EnlaceExterno" type="OpenCmsEnlaceExterno" minOccurs="0" maxOccurs="1"/>
<xsd:element name="EnlaceInterno" type="OpenCmsEnlaceInterno" minOccurs="0" maxOccurs="1"/>
</xsd:sequence>
<xsd:attribute name="language" type="OpenCmsLocale" use="optional" />
</xsd:complexType>

A esto le quiero añadir unas reglas de validación para que no me permita guardar el recurso si EnlaceExterno y EnlaceInterno se encuentran los dos activos, ya que esto provocaría un conflico a la hora de asignar el enlace al texto. Las reglas son las siguientes:

<xsd:annotation>
<xsd:appinfo>
<validationrules>
<rule element="EnlaceExterno" regex="!(EnlaceInterno==null)" message="No puedes asignar dos direcciones a un mismo enlace." />
<rule element="EnlaceInterno" regex="!(EnlaceExterno==null)" message="No puedes asignar dos direcciones a un mismo enlace." />
</validationrules>
</xsd:appinfo>
</xsd:annotation>

El caso es que !(EnlaceInterno==null) y !(EnlaceExterno==null) no son expresiones regulares validas pero no se de que forma ponerlo que lance el error cuando intente activar alguno de los enlaces cuando el otro ya esta activo.

¿Quién puede ayudarme? Gracias de antemano
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 23:19.