-
Notifications
You must be signed in to change notification settings - Fork 5
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Updates for NewsML-G2 2.29 to be voted at Spring Meeting 2020. (#8)
Updates for NewsML-G2 2.29, approved at Spring Meeting 2020.
- Loading branch information
Showing
119 changed files
with
42,389 additions
and
12,126 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,44 +1,74 @@ | ||
# Maintenance notes | ||
|
||
Notes only used by the maintainers of NewsML-G2 at IPTC. | ||
These notes are only of relevance to the maintainers of NewsML-G2 at IPTC. | ||
|
||
## Releasing a new version of NewsML-G2 | ||
|
||
Steps to release an update to the standard: | ||
Steps to create and release an update to the standard: | ||
|
||
1. Create a new GitHub branch for the changes: `git checkout -b my-new-branch` | ||
2. For a major or minor version change... | ||
For a revision change, copy the XML-Schema_FileVersion_# folder to the | ||
appropriate revision number (the first release is always revision 1, the | ||
first correction is always revision 2) | ||
3. Check that the version numbers are correct in `release-tools/newsmlg2-config-vars.sh` | ||
4. Update the version number in all files: (TODO: write a script for this based on Michael's C# tool) | ||
1. Update `release-tools/newsmlg2-config-vars.sh` to use the correct version number. This is | ||
used by the release scripts. | ||
2. Change filenames of specification/individual XSDs to match the new version number using | ||
`release-tools/update_xsd_version_no.sh` | ||
3. Change version number references within each file in specification/individual/*.xsd | ||
4. Change version number references within each file in examples/*.xml | ||
5. `specification/individual/NewsML-xx-Framework` file has two headers - both need to be | ||
updated with version number and any date changes - can cut and paste from one section to the other. | ||
5. Make the XML schema changes that are needed in the `XML-Schema_FileVersion_#` folder, including | ||
any outstanding [change requests from the dev.iptc.org site](http://dev.iptc.org/G2-Change-Requests-HP) | ||
6. Copy from the XML-Schema_FileVersion_# folder to the specification/individual folder: | ||
`release-tools/move_to_individual.sh` | ||
6a. change include filename references in all version to get rid of _<revision> numbers | ||
7. Run the script that uses an XSLT stylesheet to create the master version from the framework | ||
version in the specification/individual version: | ||
### High-level overview of the steps required | ||
- Copy the latest version of schema files into the | ||
`specification/FileVersion_<revision>` folder based on our new revision number | ||
- Update the files in `specification/FileVersion_<revision>` with new version | ||
numbers and dates | ||
- Make the required schema changes to the `specification/FileVersion<revision>` | ||
files | ||
- Create the "All" version from the individual versions in the | ||
`FileVersion_<revision>` folder | ||
- Copy the new files to specification/individual folder, removing revision info | ||
from the filenames | ||
- Check that the schema file works by validating against example documents | ||
- Create documentation using XML Spy | ||
- Make release version to be uploaded to iptc.org | ||
|
||
### In detail | ||
1. Create a new GitHub branch for the changes: `git checkout -b newsmlN.NN` | ||
(or `newsmlN.NN_N`) | ||
2. Update the `release-tools/newsmlg2-config-vars.sh` file with the version | ||
numbers of the old and new versions and revision | ||
3. Don't forget to run it! `source release-tools/newsmlg2-config-vars.sh` | ||
4. Run `release-tools/update-xsd-version-no.sh` to update | ||
`XML-Schema_FileVersion_N` files to refer to the new version | ||
5. Run `release-tools/update-version-no-in-files.sh` to update version | ||
numbers and dates in the schema documents | ||
6. By hand, make the XML schema changes that are needed in the | ||
`XML-Schema_FileVersion_#` folder, including any outstanding [change | ||
requests from the dev.iptc.org | ||
site](http://dev.iptc.org/G2-Change-Requests-HP) | ||
7. Run `release-tools/move-to-individual.sh` | ||
This copies and renames the individual schema component files from the | ||
`XML-Schema_FileVersion_#` folder to the `specification/individual` folder. | ||
The script also removes a _<revision> reference inside the schema files. | ||
8. Run the script that uses an XSLT stylesheet to create the master version | ||
from the framework version in the specification/individual folder: | ||
`release-tools/create-power-xsd-from-framework-xsd.sh` | ||
8. Run `xmllint` over the examples folder to make sure no errors have been introduced using a script: | ||
`release-tools/test-newsml-examples.sh` | ||
9. Use XML Spy to create XML Schema documentation from the master XSD schema file and the | ||
"individual" schemas. Save them to `specification/XML-Schema-Doc-Power`. | ||
10. Print change requests from dev.iptc.org to PDF for inclusion in release pack to be sent to | ||
delegates, if necessary. | ||
11. Run the script to move all files to the release folder and create ZIP files to send to delegates: | ||
`release-tools/create-release.sh` | ||
12. Commit and push all changes to GitHub: `git push origin -u my-new-branch` | ||
(Our `.gitignore` file already suppresses sending ZIP files and the XML Schema docs to GitHub.) | ||
13. Upload the "release/N.NN" folder and the ZIP files to the iptc.org server | ||
14. Update the redirects on iptc.org to point to the latest versions of XML Schema documentation. | ||
15. Update the http://dev.iptc.org/G2-Approved-Changes page documenting the changes made. | ||
9. Run `release-tools/update-version-no-in-examples.sh` which updates version | ||
number references within each file in examples/*.xml (except for the older | ||
examples which need to refer to 2.24 because that's the last version | ||
supported by the Core version of the standard) | ||
10. Run `release-tools/test-newsml-examples.sh` which runs `xmllint` over the | ||
examples folder to make sure no errors have been introduced. | ||
11. Use XML Spy to create XML Schema documentation from the master XSD schema | ||
file and the "individual" schemas. Save them to | ||
`specification/XML-Schema-Doc-Power`. | ||
12. Print-to-PDF change requests from dev.iptc.org for inclusion in release pack | ||
to be sent to delegates, if necessary. | ||
13. Run the script to move all files to the release folder and create ZIP files | ||
of the release: `release-tools/create-release.sh` | ||
14. Commit and push all changes to GitHub: `git push origin -u my-new-branch` | ||
(Our `.gitignore` file already suppresses sending ZIP files and the XML | ||
Schema docs to GitHub.). | ||
15. Create a pull request from the branch on GitHub.com. | ||
|
||
### After the Standards Committee approves the new version: | ||
|
||
1. Update the APPROVED_DATE in `release-tools/newsmlg2-config-vars.sh` | ||
2. Run the above steps 3, 5, 7, 8, 10, 11, 13, 14 again to update files with | ||
the approval date (this should be quick, just running scripts, except for | ||
the XML Spy documentation step) | ||
3. Merge the pull request into master on GitHub | ||
4. Upload the "release/N.NN" folder and the ZIP files to the iptc.org server | ||
5. Update the redirects on iptc.org to point to the latest versions of XML | ||
Schema documentation. | ||
6. Update the http://dev.iptc.org/G2-Approved-Changes page documenting the | ||
changes made. |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,56 @@ | ||
<?xml version="1.0" encoding="utf-8"?> | ||
<!-- | ||
IPTC - International Press Telecommunications Council | ||
25 Southampton Buildings, London WC2A 1AL, United Kingdom | ||
www.iptc.org | ||
This document is published under the Creative Commons Attribution 4.0 licence. | ||
See the full license agreement at http://creativecommons.org/licenses/by/4.0/ | ||
By obtaining, using and/or copying this document, you (the licensee) agree that | ||
you have read, understood, and will comply with the terms and conditions of the | ||
license. | ||
--> | ||
<!-- xmlns="http://www.w3.org/2001/XMLSchema"--> | ||
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns="https://iptc.org/std-dev/nar/" xmlns:nar="http://iptc.org/std/nar/2006-10-01/" targetNamespace="https://iptc.org/std-dev/nar/" elementFormDefault="qualified" attributeFormDefault="unqualified" version="0.4" xml:lang="en"> | ||
<xs:annotation> | ||
<xs:documentation>This XML Schema is created for a NewsML-G2 development namespace with the URI https://iptc.org/std-dev/nar/. It imports a NewsML-G2 2.x XML Schema and its elements build on attributes, attribute groups and elements defined by it. | ||
</xs:documentation> | ||
<xs:documentation>NewsML-G2 Dev 0.4 XML Schema - UNDER CONSTRUCTION</xs:documentation> | ||
<xs:documentation>Date of creation of this XML Schema document revision: 2020-05-29</xs:documentation> | ||
<xs:documentation>Created by Michael Steidl</xs:documentation> | ||
<xs:documentation>Revised by Brendan Quinn</xs:documentation> | ||
</xs:annotation> | ||
<xs:import namespace="http://iptc.org/std/nar/2006-10-01/" schemaLocation="http://www.iptc.org/std/NewsML-G2/2.29/specification/NewsML-G2_2.29-spec-All-Power.xsd"/> | ||
<!-- The NewsMLG2 schema contain the NAR building blocks used for experimental NewsML-G2 --> | ||
<!-- ========================================================================================= --> | ||
<!-- Advice element: a wrapper of child properties, is setting role and environment --> | ||
<xs:element name="advice"> | ||
<xs:complexType> | ||
<xs:sequence> | ||
<xs:element name="importance" type="nar:Flex1ConceptPropType" minOccurs="0"/> | ||
<xs:element name="lifetime" type="nar:Flex1ConceptPropType" minOccurs="0"/> | ||
</xs:sequence> | ||
<xs:attributeGroup ref="nar:commonPowerAttributes"/> | ||
<xs:attribute name="role" type="nar:QCodeType"> | ||
<xs:annotation> | ||
<xs:documentation>A refinement of what kind of alternative is provided by this identifier - expressed by a QCode</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="roleuri" type="nar:IRIType"> | ||
<xs:annotation> | ||
<xs:documentation>A refinement of what kind of alternative is provided by this identifier - expressed by an URI</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="environment" type="nar:QCodeListType" use="optional"> | ||
<xs:annotation> | ||
<xs:documentation> A qualifier which indicates the business environment in which the identifier can be used to access the content - expressed by a QCode</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
<xs:attribute name="environmenturi" type="nar:IRIListType" use="optional"> | ||
<xs:annotation> | ||
<xs:documentation> A qualifier which indicates the business environment in which the identifier can be used to access the content - expressed by a URI</xs:documentation> | ||
</xs:annotation> | ||
</xs:attribute> | ||
</xs:complexType> | ||
</xs:element> | ||
<!-- ========================================================================================= --> | ||
</xs:schema> |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,28 +1,76 @@ | ||
# NewsML-G2 Documentation | ||
|
||
## XML Schema documentation | ||
The latest version of NewsML-G2 is 2.29, approved by the IPTC Standards | ||
Committee in May 2020. | ||
|
||
## NewsML-G2 Quick Start guides | ||
|
||
We have created a set of Quick Start guides to help developers understand the | ||
key concepts behind NewsML-G2. | ||
|
||
There are currently five Quick Start guides: | ||
|
||
XML Schema docs generated directly from the XSD are available in the specification folder: | ||
https://www.iptc.org/std/NewsML-G2/2.28/specification/XML-Schema-Doc-Power/ | ||
* [NewsML-G2 Quick Start: Basics](https://www.iptc.org/std-dev/NewsML-G2/documentation/quickstart-basics.html) | ||
* [NewsML-G2 Quick Start: Text](https://www.iptc.org/std-dev/NewsML-G2/documentation/quickstart-text.html) | ||
* [NewsML-G2 Quick Start: Pictures](https://www.iptc.org/std-dev/NewsML-G2/documentation/quickstart-pictures.html) | ||
* [NewsML-G2 Quick Start: Video](https://www.iptc.org/std-dev/NewsML-G2/documentation/quickstart-video.html) | ||
* [NewsML-G2 Quick Start: Packages](https://www.iptc.org/std-dev/NewsML-G2/documentation/quickstart-packages.html) | ||
|
||
## NewsML-G2 Specification in HTML | ||
After reading the Quick Start guides, we recommend reading the rest of | ||
the | ||
[NewsML-G2 Guidelines](https://www.iptc.org/std/NewsML-G2/guidelines), | ||
and consulting the full | ||
[NewsML-G2 Specification](https://www.iptc.org/std/NewsML-G2/specification/) | ||
and | ||
[XML Schema documentation](https://www.iptc.org/std/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/) | ||
for finer details. | ||
|
||
The latest version of the NewsML-G2 Specification in HTML is 2.27. | ||
## NewsML-G2 Specification document | ||
|
||
The latest version of the NewsML-G2 Specification in HTML is 2.28. | ||
|
||
This is available at | ||
https://www.iptc.org/std/NewsML-G2/2.27/specification/NewsML-G2-2.27-specification.html | ||
[https://www.iptc.org/std/NewsML-G2/2.28/specification/NewsML-G2-2.28-specification.html](https://www.iptc.org/std/NewsML-G2/2.28/specification/NewsML-G2-2.28-specification.html) | ||
|
||
The latest version is always hosted at | ||
https://www.iptc.org/std/NewsML-G2/specification/ | ||
|
||
# NewsML-G2 Guidelines in HTML | ||
[https://www.iptc.org/std/NewsML-G2/specification/](https://www.iptc.org/std/NewsML-G2/specification/) | ||
|
||
The IPTC NewsML-G2 Guidelines were published as PDF files since the first release in 2009. | ||
As many users showed interest in the guidelines as a web document, the NewsML-G2 Working | ||
Group transformed the PDF Guidelines document to HTML. | ||
## NewsML-G2 Guidelines document | ||
|
||
The updated web version of the Guidelines are published now at: | ||
The latest version of the NewsML-G2 Guidelines is published at | ||
[https://www.iptc.org/std/NewsML-G2/guidelines](https://www.iptc.org/std/NewsML-G2/guidelines) | ||
|
||
Please check this URL, it shows the full Guidelines with all Quick Start variants for | ||
Text, Photo, Video and Packages integrated into one documentation package. | ||
### Guidelines for older versions of NewsML-G2 | ||
|
||
Guidelines for older versions of NewsML-G2 (up to 2.25) were maintained in PDF format. | ||
The last version to be published in PDF was the | ||
[NewsML 2.25 guidelines in PDF](https://www.iptc.org/std/NewsML-G2/2.25/documentation/IPTC-NewsML-G2-Implementation_Guide_9.0.2.pdf). | ||
|
||
## XML Schema documentation | ||
|
||
[NewsML-G2 XML Schema docs](https://www.iptc.org/std/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/) | ||
generated directly from the NewsML-G2 XML Schema are available in the | ||
specification folder: | ||
[https://www.iptc.org/std/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/](https://www.iptc.org/std/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/) | ||
|
||
The XML Schema docs are separated into documentation for each of the major components of NewsML-G2: | ||
|
||
* [CatalogItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-CatalogItem-Power.html) | ||
* [ConceptItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-ConceptItem-Power.html) | ||
* [Framework](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-Framework-Power.html) | ||
* [KnowledgeItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-KnowledgeItem-Power.html) | ||
* [NewsItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-NewsItem-Power.html) | ||
* [NewsMessage](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-NewsMessage-Power.html) | ||
* [PackageItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-PackageItem-Power.html) | ||
* [PlanningItem](https://www.iptc.org/std-dev/NewsML-G2/2.29/specification/XML-Schema-Doc-Power/NewsML-G2_2.29-spec-PlanningItem-Power.html) | ||
|
||
## NewsML-G2 Structure Matrix | ||
|
||
A matrix showing which attributes apply to which elements is maintained as an Excel spreadsheet: | ||
[https://www.iptc.org/std/NewsML-G2/2.26/documentation/NewsML-G2_2.26-structMatrix_1.xls](https://www.iptc.org/std/NewsML-G2/2.26/documentation/NewsML-G2_2.26-structMatrix_1.xls) | ||
|
||
## Further information and questions | ||
|
||
For any questions, comments or suggestions, please join the public NewsML-G2 | ||
forum at | ||
[https://groups.io/g/iptc-newsml-g2](https://groups.io/g/iptc-newsml-g2). |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.