diff --git a/sros2/scripts/dds_sql_to_sros2_policy.py b/sros2/scripts/dds_sql_to_sros2_policy.py index 6c602cde..63d0aafb 100755 --- a/sros2/scripts/dds_sql_to_sros2_policy.py +++ b/sros2/scripts/dds_sql_to_sros2_policy.py @@ -100,21 +100,24 @@ def df_to_dds_policy(df): def dds_policy_to_sros2_policy(dds_policy): # Parse files - policy_xsd = etree.XMLSchema( + sros2_policy_xsd = etree.XMLSchema( etree.parse( get_policy_schema('policy.xsd'))) - demangle_xsl = etree.XSLT( + dds_policy_xsd = etree.XMLSchema( + etree.parse( + get_transport_schema('dds', 'policy.xsd'))) + dds_demangle_xsl = etree.XSLT( etree.parse( get_transport_template('dds', 'demangle.xsl'))) - # Validate policy schema - policy_xsd.assertValid(dds_policy) + # Validate input schema + dds_policy_xsd.assertValid(dds_policy) # Transform policy - sros2_policy = demangle_xsl(dds_policy) + sros2_policy = dds_demangle_xsl(dds_policy) - # Validate policy schema - policy_xsd.assertValid(sros2_policy) + # Validate output schema + sros2_policy_xsd.assertValid(sros2_policy) return sros2_policy diff --git a/sros2/sros2/policy/schemas/dds/policy.xsd b/sros2/sros2/policy/schemas/dds/policy.xsd new file mode 100644 index 00000000..96698c19 --- /dev/null +++ b/sros2/sros2/policy/schemas/dds/policy.xsd @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/sros2/sros2/policy/schemas/policy.xsd b/sros2/sros2/policy/schemas/policy.xsd index fa11b28e..8086516e 100644 --- a/sros2/sros2/policy/schemas/policy.xsd +++ b/sros2/sros2/policy/schemas/policy.xsd @@ -24,7 +24,6 @@ - @@ -35,16 +34,6 @@ - - - - - - - - - -