1596 use = "required" |
1596 use = "required" |
1597 children = [] |
1597 children = [] |
1598 if path is not None: |
1598 if path is not None: |
1599 parts = path.split(".", 1) |
1599 parts = path.split(".", 1) |
1600 if attributes.has_key(parts[0]): |
1600 if attributes.has_key(parts[0]): |
1601 if len(parts) != 0: |
1601 if len(parts) != 1: |
1602 raise ValueError("Wrong path!") |
1602 raise ValueError("Wrong path!") |
1603 attr_type = gettypeinfos(attributes[parts[0]]["attr_type"]["basename"], |
1603 attr_type = gettypeinfos(attributes[parts[0]]["attr_type"]["basename"], |
1604 attributes[parts[0]]["attr_type"]["facets"]) |
1604 attributes[parts[0]]["attr_type"]["facets"]) |
1605 value = getattr(self, parts[0], "") |
1605 value = getattr(self, parts[0], "") |
1606 elif elements.has_key(parts[0]): |
1606 elif elements.has_key(parts[0]): |
1607 if elements[parts[0]]["elmt_type"]["type"] == SIMPLETYPE: |
1607 if elements[parts[0]]["elmt_type"]["type"] == SIMPLETYPE: |
1608 if len(parts) != 0: |
1608 if len(parts) != 1: |
1609 raise ValueError("Wrong path!") |
1609 raise ValueError("Wrong path!") |
1610 attr_type = gettypeinfos(elements[parts[0]]["elmt_type"]["basename"], |
1610 attr_type = gettypeinfos(elements[parts[0]]["elmt_type"]["basename"], |
1611 elements[parts[0]]["elmt_type"]["facets"]) |
1611 elements[parts[0]]["elmt_type"]["facets"]) |
1612 value = getattr(self, parts[0], "") |
1612 value = getattr(self, parts[0], "") |
1613 elif parts[0] == "content": |
1613 elif parts[0] == "content": |
1618 raise ValueError("Wrong path!") |
1618 raise ValueError("Wrong path!") |
1619 if len(parts) == 1: |
1619 if len(parts) == 1: |
1620 return attr.getElementInfos(parts[0]) |
1620 return attr.getElementInfos(parts[0]) |
1621 else: |
1621 else: |
1622 return attr.getElementInfos(parts[0], parts[1]) |
1622 return attr.getElementInfos(parts[0], parts[1]) |
|
1623 elif elements.has_key("content"): |
|
1624 if len(parts) > 0: |
|
1625 return self.content["value"].getElementInfos(name, path) |
|
1626 elif classinfos.has_key("base"): |
|
1627 classinfos["base"].getElementInfos(name, path) |
1623 else: |
1628 else: |
1624 raise ValueError("Wrong path!") |
1629 raise ValueError("Wrong path!") |
1625 else: |
1630 else: |
1626 if not derived: |
1631 if not derived: |
1627 children.extend(self.getElementAttributes()) |
1632 children.extend(self.getElementAttributes()) |