Commit 8ec60964 authored by Thiago Anders's avatar Thiago Anders

Começo daimplementação od caso de uso de CRUD para livro e exemplar.

parent 0e60f8af
<?xml version="1.0" encoding="ISO-8859-1" ?>
<DATA>
<oql name="ContarEmprestimosDeUmLivro" oqltype="0">
<description></description>
<query><![CDATA[SELECT count(*) as qnt
FROM ngExemplar
]]></query>
</oql>
<oql name="ObterClientes" oqltype="0">
<description></description>
<query><![CDATA[SELECT ngCliente
......@@ -22,4 +28,11 @@ WHERE (ngExemplar.Livro.Titulo LIKE '%'+?titulo:acString+'%' OR ?titulo:acString
AND (ngExemplar.Codigo = ?codigo:acString OR ?codigo:acString IS NULL)
ORDER BY ngExemplar.Livro.OID]]></query>
</oql>
<oql name="ObterLivros" oqltype="0">
<description>Obtm livros por ttulo ou autor.</description>
<query><![CDATA[SELECT ngLivro
FROM ngLivro
WHERE (ngLivro.Titulo LIKE '%'+?titulo:acString+'%' OR ?titulo:acString IS NULL)
AND (ngLivro.Autor = ?autor:acString OR ?autor:acString IS NULL)]]></query>
</oql>
</DATA>
......@@ -1857,12 +1857,13 @@
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Emprestimo&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;2&quot; maxOccurs=&quot;2&quot;&gt;
&lt;xs:sequence&gt;
&lt;xs:element name=&quot;Cliente&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Nome&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;CPF&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
......@@ -1870,15 +1871,17 @@
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Nome&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
......@@ -2170,6 +2173,963 @@
<XPD:REF name="Child">U5HjpnDdy0Sgf/I5LPjhdAAA</XPD:REF>
<XPD:REF name="Parent" pathname="::AppModel::FrameworkModel::acuFrameworkPackage::UCU::ucUseCase">CW1L1EW3kkSWfD8DU8ciWwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements" type="UMLUseCase" guid="qdnuZanNME+kVU+3R182UAAA">
<XPD:ATTR name="Name" type="string">ucCadastrarLivro</XPD:ATTR>
<XPD:REF name="Namespace">Aa1c8sP/hUWifftyY1TXrwAA</XPD:REF>
<XPD:OBJCOLL name="OwnedDiagrams">
<XPD:OBJ name="OwnedDiagrams" type="UMLClassDiagram" guid="S6GEIBMnjUOUiiIU8AgAtQAA">
<XPD:ATTR name="Name" type="string">ClassDiagram</XPD:ATTR>
<XPD:REF name="DiagramOwner">qdnuZanNME+kVU+3R182UAAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLClassDiagramView" guid="tRHzYgcz80CafR10q9yipQAA">
<XPD:REF name="Diagram">S6GEIBMnjUOUiiIU8AgAtQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="+e9TPaVveUOaTA3ijOXtewAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">DBUseCaseMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">Code</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">3227</XPD:ATTR>
<XPD:REF name="TaggedModel">qdnuZanNME+kVU+3R182UAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="UlfOfu6fBUebj+ifFwq0rAAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">UseCaseMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSDs</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">&lt;?xml version=&quot;1.0&quot; encoding=&quot;ISO-8859-1&quot;?&gt;
&lt;DATA&gt;
&lt;XSD name=&quot;RM_BUSCAR_LIVRO_IN&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;optional&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_BUSCAR_LIVRO_OUT&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livros&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_CONCLUIR_EDICAO_IN&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplares&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute namespace=&quot;&quot; processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute namespace=&quot;&quot; processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_CONCLUIR_EDICAO_OUT&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_EDITAR_LIVRO_IN&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_EDITAR_LIVRO_OUT&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMAG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplares&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;0&quot; maxOccurs=&quot;unbounded&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:attribute name=&quot;Titulo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Autor&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;Edicao&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_EXCLUIR_EXEMPLAR_IN&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_EXCLUIR_LIVRO_IN&quot;&gt;
&lt;description&gt;Input de excluir livro.&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMAG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_INCLUIR_EXEMPLAR_IN&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_INCLUIR_EXEMPLAR_OUT&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMSG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Exemplar&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;Codigo&quot; type=&quot;xs:string&quot; use=&quot;required&quot; /&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;XSD name=&quot;RM_INCLUIR_LIVRO_OUT&quot;&gt;
&lt;description&gt;&lt;/description&gt;
&lt;text&gt;&lt;![CDATA[&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot; ?&gt;
&lt;!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)--&gt;
&lt;xs:schema elementFormDefault=&quot;qualified&quot; xmlns:xs=&quot;http://www.w3.org/2001/XMLSchema&quot;&gt;
&lt;xs:element name=&quot;SYSMAG&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:sequence minOccurs=&quot;1&quot; maxOccurs=&quot;1&quot;&gt;
&lt;xs:element name=&quot;Livro&quot;&gt;
&lt;xs:complexType&gt;
&lt;xs:attribute name=&quot;OID&quot; type=&quot;xs:int&quot; use=&quot;required&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:sequence&gt;
&lt;xs:anyAttribute processContents=&quot;skip&quot; /&gt;
&lt;/xs:complexType&gt;
&lt;/xs:element&gt;
&lt;/xs:schema&gt;
]]&gt;&lt;/text&gt;
&lt;/XSD&gt;
&lt;/DATA&gt;
</XPD:ATTR>
<XPD:REF name="TaggedModel">qdnuZanNME+kVU+3R182UAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Behaviors">
<XPD:OBJ name="Behaviors" type="UMLStateMachine" guid="VLQ393wQeU+p2w6LoRIXiQAA">
<XPD:ATTR name="Name" type="string">smucCadastrarLivro</XPD:ATTR>
<XPD:REF name="Context">qdnuZanNME+kVU+3R182UAAA</XPD:REF>
<XPD:OBJ name="Top" type="UMLCompositeState" guid="N3WXqmczAU6xn5sKQCpB2wAA">
<XPD:ATTR name="Name" type="string">TOP</XPD:ATTR>
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:OBJCOLL name="Subvertices">
<XPD:OBJ name="Subvertices" type="UMLPseudostate" guid="aaLoj9m1d02CAwkpPVSRKQAA">
<XPD:ATTR name="Name" type="string">Initial1</XPD:ATTR>
<XPD:ATTR name="PseudostateKind" type="UMLPseudostateKind">pkInitial</XPD:ATTR>
<XPD:REF name="ContainerState">N3WXqmczAU6xn5sKQCpB2wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">U/f1bmUf+E6kJH4bWyXwvgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Outgoings">
<XPD:REF name="Outgoings">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
<XPD:OBJ name="Subvertices" type="UMLCompositeState" guid="D55Jx3NcnUa1OebWR4lidQAA">
<XPD:ATTR name="Name" type="string">SelecionandoLivro</XPD:ATTR>
<XPD:REF name="ContainerState">N3WXqmczAU6xn5sKQCpB2wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Views">qA0DpcrOQU+902+W62A1xwAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Outgoings">
<XPD:REF name="Outgoings">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
<XPD:REF name="Outgoings">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
<XPD:REF name="Outgoings">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
<XPD:REF name="Outgoings">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Incomings">
<XPD:REF name="Incomings">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
<XPD:REF name="Incomings">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
<XPD:REF name="Incomings">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
<XPD:REF name="Incomings">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
<XPD:REF name="Incomings">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
<XPD:OBJ name="Subvertices" type="UMLCompositeState" guid="LZM/kt44ZU6O88Xpv4rL1wAA">
<XPD:ATTR name="Name" type="string">EditandoCadastro</XPD:ATTR>
<XPD:REF name="ContainerState">N3WXqmczAU6xn5sKQCpB2wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:REF name="Views">dsks21RRfkCc/NZlDZ6F/QAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Outgoings">
<XPD:REF name="Outgoings">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
<XPD:REF name="Outgoings">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
<XPD:REF name="Outgoings">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
<XPD:REF name="Outgoings">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:REFCOLL>
<XPD:REFCOLL name="Incomings">
<XPD:REF name="Incomings">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
<XPD:REF name="Incomings">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
<XPD:REF name="Incomings">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
<XPD:REF name="Incomings">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJCOLL name="OwnedDiagrams">
<XPD:OBJ name="OwnedDiagrams" type="UMLStatechartDiagram" guid="oTfoBjX76ke+YoQF7oZGfAAA">
<XPD:ATTR name="Name" type="string">scucCadastrarLivro</XPD:ATTR>
<XPD:REF name="DiagramOwner">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:OBJ name="DiagramView" type="UMLStatechartDiagramView" guid="oKFH+BEt9UKH2AcPA5tsKwAA">
<XPD:REF name="Diagram">oTfoBjX76ke+YoQF7oZGfAAA</XPD:REF>
<XPD:OBJCOLL name="OwnedViews">
<XPD:OBJ name="OwnedViews" type="UMLPseudostateView" guid="U/f1bmUf+E6kJH4bWyXwvgAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">640</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">92</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">20</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">20</XPD:ATTR>
<XPD:REF name="Model">aaLoj9m1d02CAwkpPVSRKQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLStateView" guid="zGcgl5oqNk+6Ayxp9ZSOqwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">600</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">160</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">99</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">40</XPD:ATTR>
<XPD:REF name="Model">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="9CjdodYJRkifW+K4p3LBngAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="Ibq4fTZeo0OLIImIKNL49QAA">
<XPD:ATTR name="Text" type="string">SelecionandoLivro</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="wmDxVhK3LU2FckuTjZ95UAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="r+HlN8kg4E6v5IjmfsbXywAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="InternalTransitionCompartment" type="UMLInternalTransitionCompartmentView" guid="qA0DpcrOQU+902+W62A1xwAA">
<XPD:REF name="Model">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="osR45FcBj0OpAD9GuJY0dgAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">649,111;649,160</XPD:ATTR>
<XPD:REF name="Model">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
<XPD:REF name="Head">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Tail">U/f1bmUf+E6kJH4bWyXwvgAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="b/GPSu5Fykis0pW2pTdrwwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="qkb0P7SjV0CCUOjfKTliAwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="0TYtEq7B40WpAvqp7EWVBAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">kHS8JWrG80m13YwtFFEfAQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLStateView" guid="eddZnSES2kibA3ETSol60gAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Left" type="integer">604</XPD:ATTR>
<XPD:ATTR name="Top" type="integer">420</XPD:ATTR>
<XPD:ATTR name="Width" type="integer">99</XPD:ATTR>
<XPD:ATTR name="Height" type="integer">40</XPD:ATTR>
<XPD:REF name="Model">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:OBJ name="NameCompartment" type="UMLNameCompartmentView" guid="hrL7YXCA8UuJ7ysrJYnv8AAA">
<XPD:OBJ name="NameLabel" type="LabelView" guid="zZJ/4oLsBESD0Jh+xmVYnwAA">
<XPD:ATTR name="Text" type="string">EditandoCadastro</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="LabelView" guid="OVhtgD/wRkiyfV9AaHluYwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="LabelView" guid="A7TcRik8lU6Nhy8o1d7YSgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="InternalTransitionCompartment" type="UMLInternalTransitionCompartmentView" guid="dsks21RRfkCc/NZlDZ6F/QAA">
<XPD:REF name="Model">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="QmR2GgIpEEmhPBEjniph6gAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">637,199;616,234;616,380;641,420</XPD:ATTR>
<XPD:REF name="Model">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
<XPD:REF name="Head">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:REF name="Tail">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ITEo5DO3VkajRvRW0iWR/QAA">
<XPD:ATTR name="Alpha" type="real">-1,5427657676133</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">107,042047812997</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_INCLUIR_LIVRO / Effect_IncluirLivro</XPD:ATTR>
<XPD:REF name="Model">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="BnGdQQljMUi5fB+1HUXofQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="Bt6EkNraLESOPY7tMSMYvAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD Out = RM_INCLUIR_LIVRO_OUT}</XPD:ATTR>
<XPD:REF name="Model">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="qJ8zIi9WI0uJYft/WHQLWQAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">664,199;688,232;692,376;665,420</XPD:ATTR>
<XPD:REF name="Model">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
<XPD:REF name="Head">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:REF name="Tail">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="Drce1t13aESJcf093dD5bAAA">
<XPD:ATTR name="Alpha" type="real">1,48539712947113</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">104,172933144843</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_EDITAR_LIVRO / Effect_EditarLivro</XPD:ATTR>
<XPD:REF name="Model">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="+StEAPK7DkqsMpJRJ3RWZwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="JpSUl7JQQUajm3ppXPe/PgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_EDITAR_LIVRO_IN, XSD Out = RM_EDITAR_LIVRO_OUT}</XPD:ATTR>
<XPD:REF name="Model">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="R6LAHseBT0Cqg0wJy4QSWwAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">702,438;944,436;940,200;698,183</XPD:ATTR>
<XPD:REF name="Model">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
<XPD:REF name="Head">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Tail">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="ApQFY/MYVUCss8SkdLk7mQAA">
<XPD:ATTR name="Alpha" type="real">4,74141208263399</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">127,251719045363</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_CONCLUIR_EDICAO / Effect_ConcluirEdicao</XPD:ATTR>
<XPD:REF name="Model">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="wgX+/gIlXEGORTiZg2bs/QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="iZ8DVaP6jkmy+E0xzlkjHAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_CONCLUIR_EDICAO_I...}</XPD:ATTR>
<XPD:REF name="Model">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="SYbzqOtHhUSemnlWpAn5egAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">604,438;376,436;376,196;600,182</XPD:ATTR>
<XPD:REF name="Model">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
<XPD:REF name="Head">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Tail">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="dtlwl1alYk+muvxeWPsjPgAA">
<XPD:ATTR name="Alpha" type="real">-4,78449290538546</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">89,3588272080604</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_CANCELAR / Effect_Cancelar</XPD:ATTR>
<XPD:REF name="Model">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="MPK7OkUD80+IH4ZVH8Bd2gAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="LkgAx4cbSUu07iELiVx+dAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:REF name="Model">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="JBO1m6tHIECDWbL8N2TI3QAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">660,160;660,140;710,140;710,172;698,172</XPD:ATTR>
<XPD:REF name="Model">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
<XPD:REF name="Head">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Tail">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="oYbEwJcE6Emffx/exO8gNAAA">
<XPD:ATTR name="Alpha" type="real">1,83379069769996</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">53,851648071345</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_BUSCAR_LIVRO / Effect_BuscarLivro</XPD:ATTR>
<XPD:REF name="Model">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="rb3BM39oREOxp+OpXPyGLwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="7djs4D4Kn0SrnITjLJQtvgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_BUSCAR_LIVRO_IN, XSD Out = RM_BUSCAR_LIVRO_OUT}</XPD:ATTR>
<XPD:REF name="Model">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="SoVmjy24hkulwu0ygckZ+wAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">620,160;620,140;572,140;572,172;600,172</XPD:ATTR>
<XPD:REF name="Model">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
<XPD:REF name="Head">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:REF name="Tail">zGcgl5oqNk+6Ayxp9ZSOqwAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="yWRM+L2JpU6UVYOIP/2A9AAA">
<XPD:ATTR name="Alpha" type="real">-1,92378645889789</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">40,4969134626332</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_EXCLUIR_LIVRO / Effect_ExcluirLivro</XPD:ATTR>
<XPD:REF name="Model">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="jNMzMEnhlkWT6ziyOXhIXwAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="UE1HkhCsbUa+IJXCF2KbGgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_EXCLUIR_LIVRO_IN}</XPD:ATTR>
<XPD:REF name="Model">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="sHaZLOFFiUuoE6HbU2uy+wAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">684,459;684,476;712,476;712,452;702,452</XPD:ATTR>
<XPD:REF name="Model">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
<XPD:REF name="Head">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:REF name="Tail">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="v1M5PKPho0u2hJZXc/+QWAAA">
<XPD:ATTR name="Alpha" type="real">-1,71424815771052</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">90,9340420304739</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_INCLUIR_EXEMPLAR / Effect_IncluirExemplar</XPD:ATTR>
<XPD:REF name="Model">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="ruFtSpuMXU2b33KAfzMuTgAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="08p9jGnQbEyheI6BX7ufkAAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_INCLUIR_EXEMPLAR_...}</XPD:ATTR>
<XPD:REF name="Model">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
<XPD:OBJ name="OwnedViews" type="UMLTransitionView" guid="JuyHbtBsJU+xY37ieXw0BAAA">
<XPD:ATTR name="LineColor" type="string">clMaroon</XPD:ATTR>
<XPD:ATTR name="FillColor" type="string">$00B9FFFF</XPD:ATTR>
<XPD:ATTR name="LineStyle" type="LineStyleKind">lsRectilinear</XPD:ATTR>
<XPD:ATTR name="Points" type="Points">616,459;616,476;588,476;588,448;604,448</XPD:ATTR>
<XPD:REF name="Model">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
<XPD:REF name="Head">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:REF name="Tail">eddZnSES2kibA3ETSol60gAA</XPD:REF>
<XPD:OBJ name="NameLabel" type="EdgeLabelView" guid="f0YE2zjnxU+ie/uIpP772wAA">
<XPD:ATTR name="Alpha" type="real">-4,53253444700242</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">78,2623792124926</XPD:ATTR>
<XPD:ATTR name="Text" type="string">RM_EXCLUIR_EXEMPLAR / Effect_ExcluirExemplar</XPD:ATTR>
<XPD:REF name="Model">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="StereotypeLabel" type="EdgeLabelView" guid="2qfh4dZ0nkeTRguG4ijOFQAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">30</XPD:ATTR>
<XPD:REF name="Model">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="PropertyLabel" type="EdgeLabelView" guid="Onsk4TK2hEeiEtBl2uKi8QAA">
<XPD:ATTR name="Visible" type="boolean">False</XPD:ATTR>
<XPD:ATTR name="Alpha" type="real">-1,5707963267949</XPD:ATTR>
<XPD:ATTR name="Distance" type="real">15</XPD:ATTR>
<XPD:ATTR name="Text" type="string">{XSD In = RM_EXCLUIR_EXEMPLAR_..., XSD Out = RM_INCLUIR_EXEMPLAR_...}</XPD:ATTR>
<XPD:REF name="Model">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Transitions">
<XPD:OBJ name="Transitions" type="UMLTransition" guid="kHS8JWrG80m13YwtFFEfAQAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">aaLoj9m1d02CAwkpPVSRKQAA</XPD:REF>
<XPD:REF name="Target">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">osR45FcBj0OpAD9GuJY0dgAA</XPD:REF>
<XPD:REF name="Views">b/GPSu5Fykis0pW2pTdrwwAA</XPD:REF>
<XPD:REF name="Views">qkb0P7SjV0CCUOjfKTliAwAA</XPD:REF>
<XPD:REF name="Views">0TYtEq7B40WpAvqp7EWVBAAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="uz3hvAV1j0akGuEqJU/rzQAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REF name="Target">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">QmR2GgIpEEmhPBEjniph6gAA</XPD:REF>
<XPD:REF name="Views">ITEo5DO3VkajRvRW0iWR/QAA</XPD:REF>
<XPD:REF name="Views">BnGdQQljMUi5fB+1HUXofQAA</XPD:REF>
<XPD:REF name="Views">Bt6EkNraLESOPY7tMSMYvAAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="Gxw7EYPrcke6GZ2c7WIn6wAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_INCLUIR_LIVRO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="zgmM59QreUSiCPZV7KsFKwAA">
<XPD:ATTR name="Name" type="string">Effect_IncluirLivro</XPD:ATTR>
<XPD:REF name="Transition">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="Da5Ji6edhkS6wIOcAr1d2AAA">
<XPD:ATTR name="Name" type="string">RM_INCLUIR_LIVRO</XPD:ATTR>
<XPD:REF name="Transition">uz3hvAV1j0akGuEqJU/rzQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="73yy0JA3Ck6TnUFyJrtlugAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REF name="Target">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">qJ8zIi9WI0uJYft/WHQLWQAA</XPD:REF>
<XPD:REF name="Views">Drce1t13aESJcf093dD5bAAA</XPD:REF>
<XPD:REF name="Views">+StEAPK7DkqsMpJRJ3RWZwAA</XPD:REF>
<XPD:REF name="Views">JpSUl7JQQUajm3ppXPe/PgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="Jg3pkm5k+ESQkgFnc0bKlgAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_EDITAR_LIVRO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="ZwjAWTtRWkGqG2bRHOWN/QAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_EDITAR_LIVRO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="py6qBp7DfUuW8xXer1jibwAA">
<XPD:ATTR name="Name" type="string">Effect_EditarLivro</XPD:ATTR>
<XPD:REF name="Transition">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="6q5M/SEzMkyopoVlolae8QAA">
<XPD:ATTR name="Name" type="string">RM_EDITAR_LIVRO</XPD:ATTR>
<XPD:REF name="Transition">73yy0JA3Ck6TnUFyJrtlugAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="AsYwDeABC0qqLwrvDF5SRQAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REF name="Target">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">R6LAHseBT0Cqg0wJy4QSWwAA</XPD:REF>
<XPD:REF name="Views">ApQFY/MYVUCss8SkdLk7mQAA</XPD:REF>
<XPD:REF name="Views">wgX+/gIlXEGORTiZg2bs/QAA</XPD:REF>
<XPD:REF name="Views">iZ8DVaP6jkmy+E0xzlkjHAAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="EfFC83jK3kaIAq0OtYcPvQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_CONCLUIR_EDICAO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="A07lHC0fL0OfwL8d94EH2gAA">
<XPD:ATTR name="Name" type="string">Effect_ConcluirEdicao</XPD:ATTR>
<XPD:REF name="Transition">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="SBVSe4vClEyUTo5NWC2ZIQAA">
<XPD:ATTR name="Name" type="string">RM_CONCLUIR_EDICAO</XPD:ATTR>
<XPD:REF name="Transition">AsYwDeABC0qqLwrvDF5SRQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="z0F5f8a2m0mUOxYYf4T6ewAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REF name="Target">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">SYbzqOtHhUSemnlWpAn5egAA</XPD:REF>
<XPD:REF name="Views">dtlwl1alYk+muvxeWPsjPgAA</XPD:REF>
<XPD:REF name="Views">MPK7OkUD80+IH4ZVH8Bd2gAA</XPD:REF>
<XPD:REF name="Views">LkgAx4cbSUu07iELiVx+dAAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="FQQ/AMZkBk6ol7AGDRHmkQAA">
<XPD:ATTR name="Name" type="string">Effect_Cancelar</XPD:ATTR>
<XPD:REF name="Transition">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="kDnognlo2EGSZNZDkuIEQgAA">
<XPD:ATTR name="Name" type="string">RM_CANCELAR</XPD:ATTR>
<XPD:REF name="Transition">z0F5f8a2m0mUOxYYf4T6ewAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="EEnk/bcK6ker07uXi5ODyAAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REF name="Target">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">JBO1m6tHIECDWbL8N2TI3QAA</XPD:REF>
<XPD:REF name="Views">oYbEwJcE6Emffx/exO8gNAAA</XPD:REF>
<XPD:REF name="Views">rb3BM39oREOxp+OpXPyGLwAA</XPD:REF>
<XPD:REF name="Views">7djs4D4Kn0SrnITjLJQtvgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="kfiuJ7Y4DUa3EyQk1XflIQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_BUSCAR_LIVRO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="k3+iP9zlO062ND6lcD7HJgAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_BUSCAR_LIVRO_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="yAgWaHvd2EGhcwZ8pw7C4gAA">
<XPD:ATTR name="Name" type="string">Effect_BuscarLivro</XPD:ATTR>
<XPD:REF name="Transition">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="VJQBuECdA0G8vfww2KfhwwAA">
<XPD:ATTR name="Name" type="string">RM_BUSCAR_LIVRO</XPD:ATTR>
<XPD:REF name="Transition">EEnk/bcK6ker07uXi5ODyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="AwEL/X81m06yYW/4/VHOyAAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REF name="Target">D55Jx3NcnUa1OebWR4lidQAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">SoVmjy24hkulwu0ygckZ+wAA</XPD:REF>
<XPD:REF name="Views">yWRM+L2JpU6UVYOIP/2A9AAA</XPD:REF>
<XPD:REF name="Views">jNMzMEnhlkWT6ziyOXhIXwAA</XPD:REF>
<XPD:REF name="Views">UE1HkhCsbUa+IJXCF2KbGgAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="sMMN2wUGlUe7IyKRpDVxLgAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_EXCLUIR_LIVRO_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="x+48Y198yEiu8qimSSjM8gAA">
<XPD:ATTR name="Name" type="string">Effect_ExcluirLivro</XPD:ATTR>
<XPD:REF name="Transition">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="/1Ni4rP32E+H8mCEjiHa7wAA">
<XPD:ATTR name="Name" type="string">RM_EXCLUIR_LIVRO</XPD:ATTR>
<XPD:REF name="Transition">AwEL/X81m06yYW/4/VHOyAAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="iRr/05IG3UiaZxvFyzMDLQAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REF name="Target">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">sHaZLOFFiUuoE6HbU2uy+wAA</XPD:REF>
<XPD:REF name="Views">v1M5PKPho0u2hJZXc/+QWAAA</XPD:REF>
<XPD:REF name="Views">ruFtSpuMXU2b33KAfzMuTgAA</XPD:REF>
<XPD:REF name="Views">08p9jGnQbEyheI6BX7ufkAAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="0i+k4f+V8kOwIZKIOBm/kgAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_INCLUIR_EXEMPLAR_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="+V39S7+r2EqiFhYr9RnCmQAA">
<XPD:ATTR name="Name" type="string">Effect_IncluirExemplar</XPD:ATTR>
<XPD:REF name="Transition">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="4sB7NNe7Kk6motSyXLB7lQAA">
<XPD:ATTR name="Name" type="string">RM_INCLUIR_EXEMPLAR</XPD:ATTR>
<XPD:REF name="Transition">iRr/05IG3UiaZxvFyzMDLQAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="Transitions" type="UMLTransition" guid="PSRSIBrSlEiDqGJwwhVSjwAA">
<XPD:REF name="StateMachine">VLQ393wQeU+p2w6LoRIXiQAA</XPD:REF>
<XPD:REF name="Source">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REF name="Target">LZM/kt44ZU6O88Xpv4rL1wAA</XPD:REF>
<XPD:REFCOLL name="Views">
<XPD:REF name="Views">JuyHbtBsJU+xY37ieXw0BAAA</XPD:REF>
<XPD:REF name="Views">f0YE2zjnxU+ie/uIpP772wAA</XPD:REF>
<XPD:REF name="Views">2qfh4dZ0nkeTRguG4ijOFQAA</XPD:REF>
<XPD:REF name="Views">Onsk4TK2hEeiEtBl2uKi8QAA</XPD:REF>
</XPD:REFCOLL>
<XPD:OBJCOLL name="TaggedValues">
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="HM9lXrRy7UKfPJlql+5H/QAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD In</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_EXCLUIR_EXEMPLAR_IN</XPD:ATTR>
<XPD:REF name="TaggedModel">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
<XPD:OBJ name="TaggedValues" type="TaggedValue" guid="WBKMNIq2v0u/G/yH4A6kEQAA">
<XPD:ATTR name="ProfileName" type="string">DBMappings</XPD:ATTR>
<XPD:ATTR name="TagDefinitionSetName" type="string">TransitionMap</XPD:ATTR>
<XPD:ATTR name="Name" type="string">XSD Out</XPD:ATTR>
<XPD:ATTR name="DataValue" type="string">RM_INCLUIR_EXEMPLAR_OUT</XPD:ATTR>
<XPD:REF name="TaggedModel">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Effects">
<XPD:OBJ name="Effects" type="UMLUninterpretedAction" guid="viYW/smfL0mekBt+iThrdQAA">
<XPD:ATTR name="Name" type="string">Effect_ExcluirExemplar</XPD:ATTR>
<XPD:REF name="Transition">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:OBJCOLL name="Triggers">
<XPD:OBJ name="Triggers" type="UMLSignalEvent" guid="il3MrOtjD0qD2cY0+ITcMgAA">
<XPD:ATTR name="Name" type="string">RM_EXCLUIR_EXEMPLAR</XPD:ATTR>
<XPD:REF name="Transition">PSRSIBrSlEiDqGJwwhVSjwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
</XPD:OBJCOLL>
<XPD:REFCOLL name="Generalizations">
<XPD:REF name="Generalizations">8NfzKPIbrE+Cg2IYNhEy0QAA</XPD:REF>
</XPD:REFCOLL>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements" type="UMLGeneralization" guid="8NfzKPIbrE+Cg2IYNhEy0QAA">
<XPD:REF name="Namespace">Aa1c8sP/hUWifftyY1TXrwAA</XPD:REF>
<XPD:REF name="Child">qdnuZanNME+kVU+3R182UAAA</XPD:REF>
<XPD:REF name="Parent" pathname="::AppModel::FrameworkModel::acuFrameworkPackage::UCU::ucUseCase">CW1L1EW3kkSWfD8DU8ciWwAA</XPD:REF>
</XPD:OBJ>
</XPD:OBJCOLL>
</XPD:OBJ>
<XPD:OBJ name="OwnedElements" type="UMLModel" guid="obeirvlDPkWWKy4NQ48pEQAA">
......@@ -2969,6 +3929,7 @@
</XPD:OBJ>
<XPD:OBJ name="Connections" type="UMLAssociationEnd" guid="B3kasUfpmkGJkRQcYRmbmAAA">
<XPD:ATTR name="Name" type="string">Livro</XPD:ATTR>
<XPD:ATTR name="Aggregation" type="UMLAggregationKind">akComposite</XPD:ATTR>
<XPD:ATTR name="Multiplicity" type="string">1</XPD:ATTR>
<XPD:REF name="Association">4TfvBjr/t0qqGyyVDGXM6QAA</XPD:REF>
<XPD:REF name="Participant">Yi8bsyiCC0eOFqWfO/KrUgAA</XPD:REF>
......@@ -3350,6 +4311,7 @@
</XPD:OBJ>
<XPD:OBJ name="Connections" type="UMLAssociationEnd" guid="ejXM2OVWkECIFU1/ORO8qAAA">
<XPD:ATTR name="Name" type="string">Emprestimos</XPD:ATTR>
<XPD:ATTR name="Aggregation" type="UMLAggregationKind">akComposite</XPD:ATTR>
<XPD:ATTR name="Multiplicity" type="string">*</XPD:ATTR>
<XPD:REF name="Association">qm5+j2e1lkeUjcxNtRlE6gAA</XPD:REF>
<XPD:REF name="Participant">GIMMWIbQqEqp9hzlLxz9hgAA</XPD:REF>
......
......@@ -100,7 +100,8 @@ uses
nguLivro in 'ngu\nguLivro.pas',
nguSituacaoExemplar in 'ngu\nguSituacaoExemplar.pas',
nguVersaoBanco in 'ngu\nguVersaoBanco.pas',
ucuBuscarEmprestimos in 'ucu\ucuBuscarEmprestimos.pas';
ucuBuscarEmprestimos in 'ucu\ucuBuscarEmprestimos.pas',
ucuCadastrarLivro in 'ucu\ucuCadastrarLivro.pas';
var
lErros : TStringList;
......
......@@ -1076,7 +1076,7 @@ begin
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngEntity', 'UseCases', 0, 2147483647, pvNone, 'Entity has Usecases', 'ngUseCaseTicket', 'Entity', 1, 1, pvNone, True, False);
if lRelationTicket <> nil then (piMetaModel.DefaultMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewOneToManyDbRelationMapRegisterTicket(lRelationTicket, 'IESBIDENTI');
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngExemplar', 'Emprestimos', 0, 2147483647, pvNone, '', 'ngEmprestimo', 'Exemplar', 1, 1, pvNone, True, False);
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngExemplar', 'Emprestimos', 0, 2147483647, pvNone, '', 'ngEmprestimo', 'Exemplar', 1, 1, pvComposite, True, False);
if lRelationTicket <> nil then (piMetaModel.DefaultMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewOneToManyDbRelationMapRegisterTicket(lRelationTicket, 'ID_EXEMPLAR');
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngGUITicket', 'SystemGUIs', 0, 2147483647, pvNone, 'System GUIs have GUI', 'ngSystemGUITickets', 'GUI', 1, 1, pvNone, True, False);
......@@ -1085,7 +1085,7 @@ begin
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngIcon', 'UseCases', 0, 2147483647, pvNone, 'Usecases have an icon', 'ngUseCaseTicket', 'Icon', 1, 1, pvNone, True, False);
if lRelationTicket <> nil then (piMetaModel.DefaultMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewOneToManyDbRelationMapRegisterTicket(lRelationTicket, 'IESBIDCUIC');
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngLivro', 'Exemplares', 0, 2147483647, pvNone, '', 'ngExemplar', 'Livro', 1, 1, pvNone, True, False);
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngLivro', 'Exemplares', 0, 2147483647, pvComposite, '', 'ngExemplar', 'Livro', 1, 1, pvNone, True, False);
if lRelationTicket <> nil then (piMetaModel.DefaultMetaModelPersistenceMap as acMetaModelPersistenceMapSql).NewOneToManyDbRelationMapRegisterTicket(lRelationTicket, 'ID_LIVRO');
lRelationTicket := piMetaModel.NewRelationRegisterTicket('ngOperation', 'UseCaseOperations', 0, 2147483647, pvNone, 'UseCase operations has operation', 'ngUseCaseTicketOperation', 'Operation', 1, 1, pvNone, True, False);
......@@ -1238,6 +1238,16 @@ begin
lUseCaseTicket.InheritsFrom := 'ucUseCase';
end;
procedure NewUseCaseTicket_ucCadastrarLivro_3227(piMetaModel: acMetaModel);
var
lUseCaseTicket: acUseCaseTicket;
begin
//Criao do UseCaseTicket ucCadastrarLivro (3227)
lUseCaseTicket := piMetaModel.NewUseCaseTicket('3227', nil, True);
lUseCaseTicket.Name := 'ucCadastrarLivro';
lUseCaseTicket.InheritsFrom := 'ucUseCase';
end;
function GetXSDIn_3215_smucHelloWorld_Executando_RM_CUMPRIMENTAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
......@@ -1867,6 +1877,273 @@ begin
'';
end;
function GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_INCLUIR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMAG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_EDITAR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_EDITAR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMAG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplares">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:attribute name="Edicao" type="xs:string" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_BUSCAR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="optional"/>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="optional"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_BUSCAR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livros">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Edicao" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_EXCLUIR_LIVRO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMAG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_CONCLUIR_EDICAO: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Livro">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplares">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="0" maxOccurs="unbounded">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute namespace="" processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:attribute name="Titulo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Autor" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="Edicao" type="xs:string" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute namespace="" processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_INCLUIR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_EXCLUIR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
function GetXSDOut_3227_smucCadastrarLivro_EditandoCadastro_RM_EXCLUIR_EXEMPLAR: String;
begin
Result := '<?xml version="1.0"?>' + #13#10 +
'<!--Created with Liquid XML Studio 6.1.18.0 - FREE Community Edition (http://www.liquid-technologies.com)-->' + #13#10 +
'<xs:schema elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">' + #13#10 +
' <xs:element name="SYSMSG">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:sequence minOccurs="1" maxOccurs="1">' + #13#10 +
' <xs:element name="Exemplar">' + #13#10 +
' <xs:complexType>' + #13#10 +
' <xs:attribute name="Codigo" type="xs:string" use="required"/>' + #13#10 +
' <xs:attribute name="OID" type="xs:int" use="required"/>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
' </xs:sequence>' + #13#10 +
' <xs:anyAttribute processContents="skip"/>' + #13#10 +
' </xs:complexType>' + #13#10 +
' </xs:element>' + #13#10 +
'</xs:schema>' + #13#10 +
'';
end;
procedure RegisterUseCases1(piMetaModel: acMetaModel);
var
lUseCaseTicket: acUseCaseTicket;
......@@ -1886,6 +2163,7 @@ begin
NewUseCaseTicket_ucHelloWorld_3215(piMetaModel);
NewUseCaseTicket_ucEmprestarLivro_3219(piMetaModel);
NewUseCaseTicket_ucBuscarEmprestimos_3223(piMetaModel);
NewUseCaseTicket_ucCadastrarLivro_3227(piMetaModel);
//Gerando StateMachine para o casu de uso 'ucImportaConfiguracaoSistema'
lUseCaseTicket := piMetaModel.UseCaseTicketByCode['1327'];
......@@ -2816,6 +3094,117 @@ begin
lTransition.AddEffect('Effect_Sair');
//Gerando StateMachine para o casu de uso 'ucCadastrarLivro'
lUseCaseTicket := piMetaModel.UseCaseTicketByCode['3227'];
lStateMachine := lUseCaseTicket.StateMachine;
lStateMachine.Name := 'smServer';
utState.Create(lStateMachine, 'Initializing');
lSubMachineState := utSubMachineState.Create(lStateMachine, 'UseCaseSubmachine');
lSubMachineUseCaseTicket := piMetaModel.UseCaseTicketByCode['3227'];
lSubMachineState.StateMachine := acUseCaseStateMachine.Create(lSubMachineUseCaseTicket, lSubMachineState);
utFinalState.Create(lStateMachine, 'smBase_FinalState');
//Define o InitialState do StateMachine
lStateMachine.InitialState := lStateMachine.FindState('Initializing');
//Adiciona as transicoes dos estados
lState := lStateMachine.FindState('Initializing');
lTransition := lState.NewOutgoingTransition('READY');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('UseCaseSubmachine');
lTransition.AddTrigger('READY');
lState := lStateMachine.FindState('UseCaseSubmachine');
lTransition := lState.NewOutgoingTransition('ABORT');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('smBase_FinalState');
lTransition.AddTrigger('UM_ABORT','4');
lTransition.AddEffect('EFFECT_Abort');
lTransition := lState.NewOutgoingTransition('TIMEOUTCHECK');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_TIMEOUT_CHECK','16');
lTransition.AddEffect('EFFECT_TimeOutCheck');
lTransition := lState.NewOutgoingTransition('GETTRIGGERSFROMCURRENTSTATE');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_GET_TRIGGERS_FROM_CURRENT_STATE');
lTransition.AddEffect('EFFECT_GetTriggersFromCurrentState');
lTransition := lState.NewOutgoingTransition('GETXSDBYTRIGGERFROMCURRENTSTATE');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_GET_XSD_BY_TRIGGER_FROM_CURRENT_STATE');
lTransition.AddEffect('EFFECT_GetXSDByTriggerFromCurrentState');
// SUBSTATEMACHINE smucCadastrarLivro ///////////////////////
lStateMachine := lUseCaseTicket.FindStateMachine('smServer');
lStateMachine := utSubMachineState(lStateMachine.FindState('UseCaseSubmachine')).StateMachine as acUseCaseStateMachine;
lStateMachine.Name := 'smucCadastrarLivro';
utState.Create(lStateMachine, 'SelecionandoLivro');
utState.Create(lStateMachine, 'EditandoCadastro');
//Define o InitialState do StateMachine
lStateMachine.InitialState := lStateMachine.FindState('SelecionandoLivro');
//Adiciona as transicoes dos estados
lState := lStateMachine.FindState('SelecionandoLivro');
lTransition := lState.NewOutgoingTransition('RM_INCLUIR_LIVRO');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('EditandoCadastro');
lTransition.AddTrigger('RM_INCLUIR_LIVRO');
lTransition.AddEffect('Effect_IncluirLivro');
lTransition.XsdOut.XML := GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_INCLUIR_LIVRO;
lTransition := lState.NewOutgoingTransition('RM_EDITAR_LIVRO');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('EditandoCadastro');
lTransition.AddTrigger('RM_EDITAR_LIVRO');
lTransition.AddEffect('Effect_EditarLivro');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_EDITAR_LIVRO;
lTransition.XsdOut.XML := GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_EDITAR_LIVRO;
lTransition := lState.NewOutgoingTransition('RM_BUSCAR_LIVRO');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_BUSCAR_LIVRO');
lTransition.AddEffect('Effect_BuscarLivro');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_BUSCAR_LIVRO;
lTransition.XsdOut.XML := GetXSDOut_3227_smucCadastrarLivro_SelecionandoLivro_RM_BUSCAR_LIVRO;
lTransition := lState.NewOutgoingTransition('RM_EXCLUIR_LIVRO');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_EXCLUIR_LIVRO');
lTransition.AddEffect('Effect_ExcluirLivro');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_SelecionandoLivro_RM_EXCLUIR_LIVRO;
lState := lStateMachine.FindState('EditandoCadastro');
lTransition := lState.NewOutgoingTransition('RM_CONCLUIR_EDICAO');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('SelecionandoLivro');
lTransition.AddTrigger('RM_CONCLUIR_EDICAO');
lTransition.AddEffect('Effect_ConcluirEdicao');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_CONCLUIR_EDICAO;
lTransition := lState.NewOutgoingTransition('RM_CANCELAR');
lTransition.SourceState := lState;
lTransition.TargetState := lStateMachine.FindState('SelecionandoLivro');
lTransition.AddTrigger('RM_CANCELAR');
lTransition.AddEffect('Effect_Cancelar');
lTransition := lState.NewOutgoingTransition('RM_INCLUIR_EXEMPLAR');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_INCLUIR_EXEMPLAR');
lTransition.AddEffect('Effect_IncluirExemplar');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_INCLUIR_EXEMPLAR;
lTransition := lState.NewOutgoingTransition('RM_EXCLUIR_EXEMPLAR');
lTransition.SourceState := lState;
lTransition.TargetState := lState;
lTransition.AddTrigger('RM_EXCLUIR_EXEMPLAR');
lTransition.AddEffect('Effect_ExcluirExemplar');
lTransition.XsdIn.XML := GetXSDIn_3227_smucCadastrarLivro_EditandoCadastro_RM_EXCLUIR_EXEMPLAR;
lTransition.XsdOut.XML := GetXSDOut_3227_smucCadastrarLivro_EditandoCadastro_RM_EXCLUIR_EXEMPLAR;
end;
procedure RegisterModelMappings(piMetaModel: acMetaModel);
......
......@@ -55,16 +55,15 @@ lOQL: IObterEmprestimos;
lListaEmprestimos: acPersistentObjectList;
lEnumEmprestimo: acEnumerator;
begin
{Pegamo input e criamos root field do xml resposta}
lFieldCliente := piRequest.Message.RootField.FieldByName('Cliente');
lFieldEmprestimos:= piRequest.Response.RootField.AddField('Emprestimos');
lOQL := utEmprestimoOQL.ObterEmprestimos(Self.Session);
lFieldEmprestimos:= piRequest.Response.RootField.AddField('Emprestimos');
lListaEmprestimos := acPersistentObjectList.Create(ngEmprestimo);
try
{Setamos os parmetros da busca e ento a chamamos}
if lFieldCliente.HasAttribute('Nome')
then lOQL.Param_nome.Value := lFieldCliente.AttributeByName('Nome').AsString
else lOQL.Param_nome.SetNull;
......@@ -74,8 +73,9 @@ begin
else lOQL.Param_cpf.SetNull;
lOQL.LoadList(lListaEmprestimos);
lEnumEmprestimo := acEnumerator.Create(lListaEmprestimos);
{Percorremos a lista resposta da consulta ao banco e escrevemos os campos da nossa resposta}
lEnumEmprestimo := acEnumerator.Create(lListaEmprestimos);
try
while not lEnumEmprestimo.EOL do
begin
......
unit ucuCadastrarLivro;
interface
uses
utuStateMachine, utuRequest, ucuUseCase, acuFramework, nguLivro;
type
ucCadastrarLivro = class(ucUseCase)
public
procedure Initialize; Override;
procedure Finalize; Override;
private
fLivro: ngLivro;
published
procedure Effect_IncluirLivro(piRequest: utRequest; piTransition: utTransition);
procedure Effect_EditarLivro(piRequest: utRequest; piTransition: utTransition);
procedure Effect_BuscarLivro(piRequest: utRequest; piTransition: utTransition);
procedure Effect_ExcluirLivro(piRequest: utRequest; piTransition: utTransition);
procedure Effect_ConcluirEdicao(piRequest: utRequest; piTransition: utTransition);
procedure Effect_Cancelar(piRequest: utRequest; piTransition: utTransition);
procedure Effect_IncluirExemplar(piRequest: utRequest; piTransition: utTransition);
procedure Effect_ExcluirExemplar(piRequest: utRequest; piTransition: utTransition);
end;
implementation
uses
ucuManager,
utuMessage {define utField},
utuEmprestimoOQL,
acuObject {define acEnumerator},
nguExemplar,
nguSituacaoExemplar,
nguEmprestimo,
nguCliente,
dateUtils;
procedure ucCadastrarLivro.Initialize;
begin
inherited;
end;
procedure ucCadastrarLivro.Finalize;
begin
inherited;
end;
procedure ucCadastrarLivro.Effect_IncluirLivro(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_EditarLivro(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_BuscarLivro(piRequest: utRequest; piTransition: utTransition);
var
lFieldLivros,
lFieldLivro: utField;
lOQL: IObterLivros;
lListLivros: acPersistentObjectList;
lEnumLivro: acEnumerator;
lLivro: ngLivro;
begin
lFieldLivro:= piRequest.Message.RootField.FieldByName('Livro');
lOQL := utEmprestimoOQL.ObterLivros(Self.Session);
lFieldLivros := piRequest.Response.RootField.AddField('Livros');
lListLivros := acPersistentObjectList.Create(ngLivro);
try
if lFieldLivro.HasAttribute('Titulo')
then lOQL.Param_titulo.Value := lFieldLivro.AttributeByName('Titulo').AsString
else lOQL.Param_titulo.SetNull;
if lFieldLivro.HasAttribute('Autor')
then lOQL.Param_autor.Value := lFieldLivro.AttributeByName('Autor').AsString
else lOQL.Param_autor.SetNull;
lOQL.LoadList(lListLivros);
lEnumLivro := acEnumerator.Create(lListLivros);
try
while not lEnumLivro.EOL do
begin
lLivro := lEnumLivro.Current as ngLivro;
lLivro.toXML(lFieldLivros.AddField('Livro'));
lEnumLivro.MoveNext;
end;
finally
lEnumLivro.Free;
end;
finally
lListLivros.Free;
end;
piRequest.Processed := True;
end;
{Devido ao modelo, s ocorrer a excluso se o livro no possuir emprstimos.}
{Se ele possuir exemplares, eles sero deletados juntos com o livro.}
procedure ucCadastrarLivro.Effect_ExcluirLivro(piRequest: utRequest; piTransition: utTransition);
var
lFieldLivro: utField;
lLivro: ngLivro;
lListExemplares: acPersistentObjectList;
begin
lFieldLivro := piRequest.Message.RootField.FieldByName('Livro');
try
lLivro := Self.Session.LoadObject(ngLivro,acOIDInt.Create(lFieldLivro.AttributeByName('OID').AsInteger)) as ngLivro;
Self.Session.DeleteObject(lLivro,ngLivro);
except
on e:acObjectNotFoundException do
raise EucException.Create('Livro a ser deletado no encontrado.');
else
raise EucException.Create('No foi possvel buscar o Livro a ser deletado.');
end;
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_ConcluirEdicao(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_Cancelar(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_IncluirExemplar(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
procedure ucCadastrarLivro.Effect_ExcluirExemplar(piRequest: utRequest; piTransition: utTransition);
begin
piRequest.Processed := True;
end;
initialization
gucManager.RegisterClass(3227,ucCadastrarLivro);
end.
......@@ -21,10 +21,16 @@ type
function Param_codigo: acOQLParamString;
end;
IObterLivros = interface(IOQLQuery)
function Param_titulo: acOQLParamString;
function Param_autor: acOQLParamString;
end;
utEmprestimoOQL = class
class function ObterClientes(piSessao: acPersistenceSession): IObterClientes;
class function ObterEmprestimos(piSessao: acPersistenceSession): IObterEmprestimos;
class function ObterExemplares(piSessao: acPersistenceSession): IObterExemplares;
class function ObterLivros(piSessao: acPersistenceSession): IObterLivros;
end;
implementation
......@@ -46,6 +52,11 @@ type
function Param_codigo: acOQLParamString;
end;
TObterLivros = class(acOQLQuery, IObterLivros)
function Param_titulo: acOQLParamString;
function Param_autor: acOQLParamString;
end;
{ TObterClientes }
function TObterClientes.Param_nome: acOQLParamString;
......@@ -82,6 +93,18 @@ begin
result := acOQLParamString(Self.ParamByName('codigo'));
end;
{ TObterLivros }
function TObterLivros.Param_titulo: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('titulo'));
end;
function TObterLivros.Param_autor: acOQLParamString;
begin
result := acOQLParamString(Self.ParamByName('autor'));
end;
{ utOQLs }
class function utEmprestimoOQL.ObterClientes(piSessao: acPersistenceSession): IObterClientes;
......@@ -112,4 +135,13 @@ begin
'ORDER BY ngExemplar.Livro.OID');
end;
class function utEmprestimoOQL.ObterLivros(piSessao: acPersistenceSession): IObterLivros;
begin
result := TObterLivros.Create(pisessao,
'SELECT ngLivro' + #13#10 +
'FROM ngLivro' + #13#10 +
'WHERE (ngLivro.Titulo LIKE ''%''+?titulo:acString+''%'' OR ?titulo:acString IS NULL)' + #13#10 +
' AND (ngLivro.Autor = ?autor:acString OR ?autor:acString IS NULL)');
end;
end.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment