Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

Amendments which ‘move’ or ‘divide’ provisions in a bill can’t be auto-applied at present. We plan to extend auto-apply to these instruction types in future. For now, you will have to apply these amendments manually.

Here is an example of an amendment tabled in the House of Commons which moves a clause to a different part of the Bill:

...

Amendments to Tables

Amendments to rows, columns, and text in specific cells in tables can’t be auto-applied. We plan to extend auto-apply to handle these instruction types in future. For now, you will have to apply these amendments manually. If you do attempt to auto-apply amendments to tables, there is a slight risk that the amendment will appear to apply successfully but produce bad XML in your bill version.

...

If you notice an extra full-stop at the end of an amendment instruction, it is worth removing it before attempting to auto-apply the amendment. In future Lawmaker versions this strict requirement will be relaxed.

Amendments which insert or leave out a combination of sections/paragraphs and Parts, Chapters, and cross-headings

...

Info

In the bill XML, higher-level headings like Parts are not merely titles; they are XML tags which effectively ‘wrap’ (i.e. completely enclose) the provisions which are under that heading. For example, if a Bill contains two Parts, and Part 2 contains sections 4-6, then in the XML of that Bill sections 4-6 are all contained within an XML tag representing Part 2. If an amendment were to remove an existing heading, such as Part 2 insert a new Part after section 5 (that is, mid-way through Part 2), a slightly complex transformation would be required to wrap or unwrap the provisions under that heading in the XML, so that they are instead enclosed by Part 2.

We plan to improve handling of these types of amendments in future. Not all amendments of this type will fail, but when using auto-apply on these amendments it is best to proceed with caution.

“From beginning to end of line…” or “leave out line…” in an amendment can sometimes create bad XML when applied

Where a line in a bill begins with a number element - i.esub-section, paragraph, or sub-paragraph exists in a bill and the content of that sub-section or paragraph extends over more than one line, any amendment which leaves out the whole of the first line of that sub-section or paragraph can create bad XML when auto-applied. This is because the amendment instruction is interpreted as though the amendment intends to remove not only the text of that line but the sub-section or paragraph number at the start of the line too - e.g. (1), (2), (a), (b), (i), (ii) - and an amendment leaves out or substitutes that whole line, the auto-applied amendment may sometimes create bad XML.

Amendments which leave out the text after a defined term sometimes fail to auto-apply

Auto-apply sometimes fails where an amendment instruction includes additional quotation marks inside the reference to the text which is to be left out or substituted. For example, look at the word service in the example amendment below:

...

The word is followed by an extra closing quotation mark, because it is a reference to the following definition:

image-20240401-175056.pngImage Removed

However, amendments in this form sometimes fail to auto-apply. Removing the extra closing quotation mark before applying the amendment will resolve the problem and allow auto-apply to function correctly.

Applying a 'leave out and insert' amendment to the last words in a quoted structure sometimes results in the new words being placed after the quoted structure

If an amendment substitutes words at the end of a Quoted Structure, the new words are sometimes placed in the ‘Following text’ element after the Quoted Structure, as in the screenshot below:

...

This is a known bug which we intend to fix in an upcoming support release, (iii). This results in some of the text of that sub-section remaining in the bill but without a number, which is invalid.

This problem does not arise where an instruction leaves out the entirety of a sub-section or paragraph. In those cases, the removal of the number is correct, since the sub-section or paragraph has been left out entirely. The problem only affects amendments which remove the whole of the first line of a multi-line sub-section or paragraph, leaving behind some other textual content of that sub-section or paragraph.

We intend to fix this particular case in future Lawmaker releases.

Amendments which leave out words to the end of a line conflict with other amendments to that line

...

When one amendment leaves out the end of a section, sub-section, Schedule paragraph or sub-paragraph, and another amendment inserts words in a new provision immediately after that one, the two amendments may be deemed to be overlapping and the latter amendment will not auto-apply. Refinements to conflict-detection should help to resolve this problem in a future Lawmaker release.

Amendments which

...

Amendments which add text immediately after a tagged cross-reference will sometimes fail to apply if the newly added text begins with a punctuation mark. In other cases, they may apply successfully but the added text will appear inside the cross-reference tagging, which is wrong. This is an edge-case which we plan to fix in a future support release.

Incorrect application of amendments which leave out a particular Schedule and insert another one

An amendment in the form “leave out Schedule x and move the following Schedule--” may produce unexpected output when auto-applied: the new Schedule will be placed at the end of the bill, the omitted schedule will be marked as deleted, but the intervening schedules (between the omitted Schedule and the new Schedule at the end of the bill) will also be marked as deleted.

replace lines containing structure with simple text

Where an amendment leave out multiple lines of structured text (for example, paragraphs (a) and (b) in a subsection) and inserts a new simple line of text, auto-apply may produce unexpected results. The screenshots below show an example of this.

...

Currently, applying and accepting this amendment will result in the newly inserted text disappearing. We intend to fix this problem in a future Lawmaker release.

“Accept all” producing unexpected changes

...

When applying amendments such as these, it is advisable to note down the numbers and locations and re-check them after accepting all amendments.

Incorrect application of amendments which leave out a particular Schedule and insert another one

An amendment in the form “leave out Schedule x and move the following Schedule--” may produce unexpected output when auto-applied: the new Schedule will be placed at the end of the bill, the omitted schedule will be marked as deleted, but the intervening schedules (between the omitted Schedule and the new Schedule at the end of the bill) will also be marked as deleted.

Hints and tips

Create a duplicate working version before clicking “Accept all”

...

After editing the copied amendment, you can attempt to apply it.

Planned refinements to auto-apply

User Interface improvements

  1. In the Editor, allow users to accept applied amendments one-by-one

  2. Show more amendment information in the ‘Inline amendment’ and ‘Review’ panes in the Editor (for example, add a way of quickly viewing the amendment text)

  3. Give users the option to fix or edit amendments which failed to auto-apply

  4. Add more document checks to amendment lists to assist with drafting amendments and therefore increase the number of correctly structured amendments

  5. Give users the option of generating a report when auto-applying amendments; the report would show which amendments were successfully applied, which failed and why, alongside amendment numbers, Dnums, target location, and other metadata

Functional improvements

...

Handle more complex amendments which span several XML levels

...

Implement auto-application of amendments to tables

...

Implement auto-application of Move and Divide instructions

...

Improve auto-application of amendments which begin before a Quoted Structure and end part-way through it

...

Improve handling of “leave out line” amendments

...