• Login
  • Help/Guide
  • About Trac
  • Preferences
  • Wiki
  • Timeline
  • Roadmap
  • Browse Source
  • View Tickets
  • Search

Context Navigation

  • ← Previous Change
  • Next Change →

Changeset 151 for Xml/xsd-fu

Show
Ignore:
Timestamp:
02/14/08 16:28:25 (9 months ago)
Author:
callan
Message:

Additions for Curtis that allow access to the actual node elements that reference nodes "reference".

Location:
Xml/xsd-fu/trunk
Files:
3 modified

  • fu.py (modified) (1 diff)
  • templates/Class.template (modified) (1 diff)
  • xsd-fu (modified) (3 diffs)

Legend:

Unmodified
Added
Removed
  • Xml/xsd-fu/trunk/fu.py

    r126 r151  
    277277        javaBase = property(_get_javaBase,  
    278278                doc="""The model object's Java base class.""") 
     279                 
     280        def _get_refNodeName(self): 
     281                if self.base == "Reference": 
     282                        return self.properties["ID"].javaType 
     283                return None 
     284                 
     285        refNodeName = property(_get_refNodeName, 
     286                doc="""The name of this node's reference node; None otherwise.""") 
    279287         
    280288        def __str__(self): 
  • Xml/xsd-fu/trunk/templates/Class.template

    r150 r151  
    7575                                          "${klass.name}", attach)); 
    7676        } 
     77{% if klass.base == "Reference" %} 
     78        /**  
     79         * Returns the <code>${klass.refNodeName}</code> which this reference 
     80         * links to. 
     81         */ 
     82        public ${klass.refNodeName} get${klass.refNodeName[:-4]}() 
     83        { 
     84                return (${klass.refNodeName}) 
     85                        getAttrReferencedNode("${klass.refNodeName[:-4]}", "ID"); 
     86        } 
     87 
     88        /** 
     89         * Sets the active reference node on this node. 
     90         * @param node The <code>${klass.refNodeName}</code> to set as a 
     91         * reference. 
     92         */ 
     93        public void set${klass.refNodeName}(${klass.refNodeName} node) 
     94        { 
     95                setNodeID(node.getNodeID()); 
     96        } 
     97{% end %}\ 
    7798 
    7899        // -- ${klass.name} API methods -- 
  • Xml/xsd-fu/trunk/xsd-fu

    r126 r151  
    6666 
    6767        if len(args) != 1: 
    68             usage("Expecting single ome.xsd file path!") 
     68                usage("Expecting single ome.xsd file path!") 
    6969 
    7070        outputDirectory = None 
    … …  
    7878                usage("Output directory must be specified!") 
    7979        if not os.path.exists(outputDirectory): 
    80             print "Output directory '%s' does not exist!" % outputDirectory 
    81             sys.exit(1) 
     80                print "Output directory '%s' does not exist!" % outputDirectory 
     81                sys.exit(1) 
    8282 
    8383        model = parseXmlSchema(args[0]) 
    … …  
    103103        for obj in model.objects.values(): 
    104104                if obj.name == "Laser": 
    105                         print " +--", obj.name 
     105                        print " +-- %s(%s)" % (obj.name, obj.base) 
    106106                        for prop in obj.properties.values(): 
    107107                                print " +---- %s(%s) [%d:%d]" % \ 

Download in other formats:

  • Unified Diff
  • Zip Archive

Trac Powered

Powered by Trac 0.11
By Edgewall Software.

Visit the Trac open source project at
http://trac.edgewall.org/