Package com.sun.msv.datatype.xsd

Examples of com.sun.msv.datatype.xsd.XSDatatype


  }
 
  public void onValue( ValueExp exp ) {
    String text;
    if( exp.dt instanceof XSDatatype ) {
      XSDatatype xsd = (XSDatatype)exp.dt;
      text = xsd.convertToLexicalValue(exp.value,getContext());
    } else {
      text = exp.value.toString();
      if(!exp.dt.sameValue( exp.value, exp.dt.createValue(text,getContext()) ) )
        throw new Error("unable to produce a value for the datatype:"+exp.name);
    }
View Full Code Here


        if( cmd.equals("base") )
        {
          String typeName = tokens.nextToken();
         
          // to obtain a type by name, call this method.
          XSDatatype dt = DatatypeFactory.getTypeByName(typeName);
          if(dt==null)
          {// if the name is not recognized, null is returned.
            System.out.println("no such type");
            continue;
          }
          incubator = new TypeIncubator(dt);
          continue;
        }
        if( cmd.equals("add") )
        {
          String facetName = tokens.nextToken();
          String facetValue = tokens.nextToken();
          // to add a facet, call add method.
          // you MUST supply a valid ValidationContextProvider,
          // although this example omits one.
          incubator.addFacet( facetName, facetValue, false, null );
          continue;
        }
        if( cmd.equals("test") )
        {
          String value = tokens.nextToken();
                   
          // a type can be derived by derive method.
          // the new type contains all facets that were added.
          XSDatatype dt = incubator.derive("","anonymous");
         
          // check validity.
          if( dt.isValid(value,null) )
            // verify method returns true if the value is valid.
            System.out.println("valid value");
          else
          {// it returns false otherwise,
            // call diagnose method to see what is wrong.
            try
            {
              dt.checkValid(value,null);
              System.out.println("valid");
            }
            catch( DatatypeException diag )
            {
              if( diag.getMessage()==null ) {
View Full Code Here

        DatatypeElementFactory factory = getDatatypeElementFactory(qname);

        if (type != null) {
            // register type with this element name
            XSDatatype dataType = getTypeByName(type);

            if (dataType != null) {
                factory.setChildElementXSDatatype(qname, dataType);
            } else {
                QName typeQName = getQName(type);
                namedTypeResolver.registerTypedElement(xsdElement, typeQName,
                        parentFactory);
            }

            return;
        }

        // handle element types derrived from simpleTypes
        Element xsdSimpleType = xsdElement.element(XSD_SIMPLETYPE);

        if (xsdSimpleType != null) {
            XSDatatype dataType = loadXSDatatypeFromSimpleType(xsdSimpleType);

            if (dataType != null) {
                factory.setChildElementXSDatatype(qname, dataType);
            }
        }
View Full Code Here

        while (iter.hasNext()) {
            Element xsdAttribute = (Element) iter.next();
            String name = xsdAttribute.attributeValue("name");
            QName qname = getQName(name);

            XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);

            if (dataType != null) {
                // register the XSDatatype for the given Attribute
                // #### should both these be done?
                // elementFactory.setChildElementXSDatatype( qname, dataType );
View Full Code Here

     */
    private void onDatatypeAttribute(Element xsdElement,
            DatatypeElementFactory elementFactory, Element xsdAttribute) {
        String name = xsdAttribute.attributeValue("name");
        QName qname = getQName(name);
        XSDatatype dataType = dataTypeForXsdAttribute(xsdAttribute);

        if (dataType != null) {
            // register the XSDatatype for the given Attribute
            elementFactory.setAttributeXSDatatype(qname, dataType);
        } else {
View Full Code Here

     * @throws InvalidSchemaException
     *             DOCUMENT ME!
     */
    private XSDatatype dataTypeForXsdAttribute(Element xsdAttribute) {
        String type = xsdAttribute.attributeValue("type");
        XSDatatype dataType = null;

        if (type != null) {
            dataType = getTypeByName(type);
        } else {
            // must parse the <simpleType> element
View Full Code Here

            return;
        }

        String name = nameAttr.getText();
        QName qname = getQName(name);
        XSDatatype datatype = loadXSDatatypeFromSimpleType(schemaSimpleType);
        namedTypeResolver.registerSimpleType(qname, datatype);
    }
View Full Code Here

        if (xsdRestriction != null) {
            String base = xsdRestriction.attributeValue("base");

            if (base != null) {
                XSDatatype baseType = getTypeByName(base);

                if (baseType == null) {
                    onSchemaError("Invalid base type: " + base
                            + " when trying to build restriction: "
                            + xsdRestriction);
View Full Code Here

        return factory;
    }

    private XSDatatype getTypeByName(String type) {
        XSDatatype dataType = (XSDatatype) dataTypeCache.get(type);

        if (dataType == null) {
            // first check to see if it is a built-in type
            // maybe a prefix is being used
            int idx = type.indexOf(':');
View Full Code Here

    // DocumentFactory methods
    // -------------------------------------------------------------------------
    public Element createElement(QName qname) {
        // the element may have its own element factory!
        // use factory from the qname for datatype
        XSDatatype dataType = getChildElementXSDatatype(qname);

        if (dataType != null) {
            return new DatatypeElement(qname, dataType);
        }
View Full Code Here

TOP

Related Classes of com.sun.msv.datatype.xsd.XSDatatype

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.