Example #1
0
 def list_stmt(self, stmt, p_elem, pset):
     lelem = SchemaNode.list(self.prefix_id(stmt.arg), p_elem)
     plist, new_pset = self.select_patch(pset, stmt.arg)
     lelem.minEl, lelem.maxEl = self.get_minmax(stmt, plist)
     keyst = stmt.search_one("key")
     if keyst:
         self.lists.append(lelem)
         lelem.keys = [self.prefix_id(k) for k in keyst.arg.split()]
     for s in plist: self.handle_stmt(s, lelem, new_pset)
     self.handle_substmts(stmt, lelem, new_pset)
Example #2
0
 def list_stmt(self, stmt, p_elem, pset):
     lelem = SchemaNode.list(self.prefix_id(stmt.arg), p_elem)
     plist, new_pset = self.select_patch(pset, stmt.arg)
     lelem.minEl, lelem.maxEl = self.get_minmax(stmt, plist)
     keyst = stmt.search_one("key")
     if keyst:
         self.lists.append(lelem)
         lelem.keys = [self.prefix_id(k) for k in keyst.arg.split()]
     for s in plist:
         self.handle_stmt(s, lelem, new_pset)
     self.handle_substmts(stmt, lelem, new_pset)
 def list_stmt(self, stmt, p_elem, pset):
     lelem = SchemaNode.list(self.qname(stmt), p_elem)
     keyst = stmt.search_one("key")
     if keyst: lelem.keys = [self.add_prefix(k, stmt)
                             for k in keyst.arg.split()]
     refd, augs, new_pset = self.process_patches(pset, stmt, lelem)
     left = self.lookup_expand(stmt, new_pset.keys() + lelem.keys)
     for a in augs:
         left = self.lookup_expand(a, left)
     lelem.minEl, lelem.maxEl = self.get_minmax(stmt, refd)
     if int(lelem.minEl) > 0: self.propagate_occur(p_elem, 2)
     self.handle_substmts(stmt, lelem, new_pset)
     self.apply_augments(augs, lelem, new_pset)
     if not lelem.children: SchemaNode("empty", lelem)
Example #4
0
 def list_stmt(self, stmt, p_elem, pset):
     lelem = SchemaNode.list(self.qname(stmt), p_elem)
     keyst = stmt.search_one("key")
     if keyst:
         lelem.keys = [self.add_prefix(k, stmt) for k in keyst.arg.split()]
     refd, augs, new_pset = self.process_patches(pset, stmt, lelem)
     left = self.lookup_expand(stmt, new_pset.keys() + lelem.keys)
     for a in augs:
         left = self.lookup_expand(a, left)
     lelem.minEl, lelem.maxEl = self.get_minmax(stmt, refd)
     if int(lelem.minEl) > 0: self.propagate_occur(p_elem, 2)
     self.handle_substmts(stmt, lelem, new_pset)
     self.apply_augments(augs, lelem, new_pset)
     if not lelem.children: SchemaNode("empty", lelem)