Notice: This Wiki is now read only and edits are no longer possible. Please see: https://gitlab.eclipse.org/eclipsefdn/helpdesk/-/wikis/Wiki-shutdown-plan for the plan.
Difference between revisions of "JET FAQ Can JET handle UML models as input?"
(New Article) |
m (→Answer) |
||
Line 7: | Line 7: | ||
# Open plugin.xml on your JET transformation, switch the the Extensions tab, expand 'org.eclipse.jet.transform', click '(transform)', and set the modelLoader field to 'org.eclipse.jet.emf'. | # Open plugin.xml on your JET transformation, switch the the Extensions tab, expand 'org.eclipse.jet.transform', click '(transform)', and set the modelLoader field to 'org.eclipse.jet.emf'. | ||
− | |||
# The UML2 meta model is very large, and I find must users are not intimately familiar with the navigation features. JET has a special XPath enhancement to make life a little easier. An XPath step such as $parent/foo is interpreted as "the contents of the EReference named 'foo' on the object identified by $parent". But, if there is not 'foo' feature, JET will then attempt to find a contained class of $parent (i.e. something in eContents()) whose eClass name is 'foo'. So, the following are equivalent: | # The UML2 meta model is very large, and I find must users are not intimately familiar with the navigation features. JET has a special XPath enhancement to make life a little easier. An XPath step such as $parent/foo is interpreted as "the contents of the EReference named 'foo' on the object identified by $parent". But, if there is not 'foo' feature, JET will then attempt to find a contained class of $parent (i.e. something in eContents()) whose eClass name is 'foo'. So, the following are equivalent: | ||
− | |||
<code><pre> | <code><pre> | ||
/contents/nestedPackages/ownedTypes[@name = 'Person']/ownedAttributes[@name = 'address']/type/@name | /contents/nestedPackages/ownedTypes[@name = 'Person']/ownedAttributes[@name = 'address']/type/@name | ||
Line 15: | Line 13: | ||
/Model/Package/Class[@name = 'Person']/Property[@name = 'address']/type/@name | /Model/Package/Class[@name = 'Person']/Property[@name = 'address']/type/@name | ||
</pre></code> | </pre></code> | ||
− | |||
# JET doesn't cannot access stereotypes or steroetype properties. If you need, custom XPath functions could be created to access these. | # JET doesn't cannot access stereotypes or steroetype properties. If you need, custom XPath functions could be created to access these. |
Revision as of 10:21, 11 July 2007
Question
Can JET load and traverse UML2 models?
Answer
UML2 Models (.uml, .uml2 or Rational Software Architect .emx files) are EMF-based models. So, yes, JET can read them. Here are some tips for doing it:
- Open plugin.xml on your JET transformation, switch the the Extensions tab, expand 'org.eclipse.jet.transform', click '(transform)', and set the modelLoader field to 'org.eclipse.jet.emf'.
- The UML2 meta model is very large, and I find must users are not intimately familiar with the navigation features. JET has a special XPath enhancement to make life a little easier. An XPath step such as $parent/foo is interpreted as "the contents of the EReference named 'foo' on the object identified by $parent". But, if there is not 'foo' feature, JET will then attempt to find a contained class of $parent (i.e. something in eContents()) whose eClass name is 'foo'. So, the following are equivalent:
/contents/nestedPackages/ownedTypes[@name = 'Person']/ownedAttributes[@name = 'address']/type/@name
/Model/Package/Class[@name = 'Person']/Property[@name = 'address']/type/@name
- JET doesn't cannot access stereotypes or steroetype properties. If you need, custom XPath functions could be created to access these.