Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Update exclude #97

Merged
merged 3 commits into from
Nov 26, 2023
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 27 additions & 27 deletions README.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -17,14 +17,14 @@ You will need the `maven` build tool and `make`.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <XML-FileName>
java -Xss5m -jar target/stepmod2mn-1.24.jar <XML-FileName>
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/resource_docs/draughting_elements/resource.xml
java -Xss5m -jar target/stepmod2mn-1.24.jar data/resource_docs/draughting_elements/resource.xml
----

NOTE: resulted AsciiDoc found in data/resource_docs/draughting_elements/document.adoc
Expand All @@ -34,28 +34,28 @@ NOTE: resulted AsciiDoc found in data/resource_docs/draughting_elements/document

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <XML-FileName> [--output <AsciiDoc-FileName>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <XML-FileName> [--output <AsciiDoc-FileName>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/resource_docs/draughting_elements/resource.xml --output result_dir/draughting_elements/document.adoc
java -Xss5m -jar target/stepmod2mn-1.24.jar data/resource_docs/draughting_elements/resource.xml --output result_dir/draughting_elements/document.adoc
----

=== Convert all resource.xml and module.xml in the specified folder and sub-folders into the Metanorma AsciiDoc format:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Input-folder>
java -Xss5m -jar target/stepmod2mn-1.24.jar <Input-folder>
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/
java -Xss5m -jar target/stepmod2mn-1.24.jar data/
----

NOTE: the result AsciiDocs will be saved in the folder with the source resource.xml and module.xml files.
Expand All @@ -65,57 +65,57 @@ NOTE: the result AsciiDocs will be saved in the folder with the source resource.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Input-folder> [--output <Output-folder>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <Input-folder> [--output <Output-folder>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/ --output documents/
java -Xss5m -jar target/stepmod2mn-1.24.jar data/ --output documents/
----


=== Convert all resource.xml and module.xml in the specified folder and sub-folders into the Metanorma AsciiDoc format, except specified documents:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Input-folder> [--exclude <documents list>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <Input-folder> [--exclude <documents list>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/ --exclude "machining_features"
java -Xss5m -jar target/stepmod2mn-1.24.jar data/ --exclude "machining_features"
----

=== Convert only specified documents resource.xml and module.xml in the specified folder and sub-folders into the Metanorma AsciiDoc format:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Input-folder> [--include-only <documents list>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <Input-folder> [--include-only <documents list>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar data/ --include-only "fundamentals_of_product_description_and_support kinematics"
java -Xss5m -jar target/stepmod2mn-1.24.jar data/ --include-only "fundamentals_of_product_description_and_support kinematics"
----

=== Convert the documents specified in the publication index xml file in the tags 'resource_docs' and 'modules' into the Metanorma AsciiDoc format:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Publication-Index-XML-FileName>
java -Xss5m -jar target/stepmod2mn-1.24.jar <Publication-Index-XML-FileName>
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar publication/part1000/CR_PMI_5/publication_index.xml
java -Xss5m -jar target/stepmod2mn-1.24.jar publication/part1000/CR_PMI_5/publication_index.xml
----

NOTE: the resulted AsciiDocs will be saved in the folder with the source resource.xml and module.xml files.
Expand All @@ -127,29 +127,29 @@ and save them into the output folder:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Publication-Index-XML-FileName> [--output <Output-folder>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <Publication-Index-XML-FileName> [--output <Output-folder>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar publication/part1000/CR_PMI_5/publication_index.xml --output documents/
java -Xss5m -jar target/stepmod2mn-1.24.jar publication/part1000/CR_PMI_5/publication_index.xml --output documents/
----


=== Convert the specified type of the document (resource_docs or modules) in the publication index xml file into the Metanorma AsciiDoc format:

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar <Publication-Index-XML-FileName> [--type <resource_docs or modules>]
java -Xss5m -jar target/stepmod2mn-1.24.jar <Publication-Index-XML-FileName> [--type <resource_docs or modules>]
----

e.g.

[source,sh]
----
java -Xss5m -jar target/stepmod2mn-1.23.jar publication/part1000/CR_PMI_5/publication_index.xml --type resource_docs
java -Xss5m -jar target/stepmod2mn-1.24.jar publication/part1000/CR_PMI_5/publication_index.xml --type resource_docs
----

NOTE: the resulted AsciiDocs will be saved in the folder with the source resource.xml (or module.xml) files.
Expand All @@ -161,42 +161,42 @@ NOTE: the Metanorma collection file 'metanorma.yml' will be saved in the 3 level

[source,sh]
----
java -jar target/stepmod2mn-1.23.jar <start folder to process xml maps files> --svg
java -jar target/stepmod2mn-1.24.jar <start folder to process xml maps files> --svg
----

e.g.

[source,sh]
----
java -jar target/stepmod2mn-1.23.jar data/resources --svg
java -jar target/stepmod2mn-1.24.jar data/resources --svg
----

=== Generate SVG images for the XML in the specified folder and sub-folders, and save them in the output folder:

[source,sh]
----
java -jar target/stepmod2mn-1.23.jar <start folder to process xml maps files> --svg [--output <Output-folder>]
java -jar target/stepmod2mn-1.24.jar <start folder to process xml maps files> --svg [--output <Output-folder>]
----

e.g.

[source,sh]
----
java -jar target/stepmod2mn-1.23.jar data/resources --svg --output schemas/
java -jar target/stepmod2mn-1.24.jar data/resources --svg --output schemas/
----

=== Generate SVG image for Express Imagemap XML and Image:

[source,sh]
----
java -jar stepmod2mn-1.23.jar --xml <Express Imagemap XML file path> --image <Image file name> [--svg <resulted SVG map file or folder>]
java -jar stepmod2mn-1.24.jar --xml <Express Imagemap XML file path> --image <Image file name> [--svg <resulted SVG map file or folder>]
----

e.g.

[source,sh]
----
java -jar stepmod2mn-1.23.jar --xml data\resource_docs\fundamentals_of_product_description_and_support\schema_diagexpg1.xml --image schema_diagexpg1.gif --svg schema_diagexpg1.svg
java -jar stepmod2mn-1.24.jar --xml data\resource_docs\fundamentals_of_product_description_and_support\schema_diagexpg1.xml --image schema_diagexpg1.gif --svg schema_diagexpg1.svg
----


Expand All @@ -216,7 +216,7 @@ Update version in `pom.xml`, e.g.:
----
<groupId>org.metanorma</groupId>
<artifactId>stepmod2mn</artifactId>
<version>1.23</version>
<version>1.24</version>
<name>STEPmod XML to Metanorma AsciiDoc converter</name>
----

Expand All @@ -227,8 +227,8 @@ Tag the same version in Git:

[source,xml]
----
git tag v1.23
git push origin v1.23
git tag v1.24
git push origin v1.24
----

Then the corresponding GitHub release will be automatically created at:
Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.metanorma</groupId>
<artifactId>stepmod2mn</artifactId>
<version>1.23</version>
<version>1.24</version>
<name>STEPmod XML to Metanorma AsciiDoc converter</name>
<packaging>jar</packaging>
<url>https://www.metanorma.org</url>
Expand Down
30 changes: 29 additions & 1 deletion src/main/java/org/metanorma/RepositoryIndex.java
Original file line number Diff line number Diff line change
Expand Up @@ -8,9 +8,10 @@
public class RepositoryIndex {

private String filename;

private final String REPOSITORY_INDEX_FILENAME = "repository_index.xml";

private String sRepositoryIndex = "";

public RepositoryIndex(String startFolder) {
init(startFolder);
}
Expand Down Expand Up @@ -40,10 +41,37 @@ private void init(String startFolder) {
filename = "";
} else {
filename = repositoryIndexPath.toString();
sRepositoryIndex = XMLUtils.processLinearizedXML(filename);
}
}

public String getPath() {
return filename;
}

public boolean contains(String documentName, String documentKind) {
if (!sRepositoryIndex.isEmpty()) {
if (documentKind.equals("resource")) {
documentKind = "resource_doc";
}
//DEBUG: documentName = "fundamentals_of_product_description_and_support";
String xPath = "//" + documentKind + "[@name = '" + documentName + "']/@name";
String result = XMLUtils.getTextByXPath(sRepositoryIndex, xPath);
return !result.isEmpty();
}
return true;
}

public boolean isWithdrawn(String documentName, String documentKind) {
if (!sRepositoryIndex.isEmpty()) {
if (documentKind.equals("resource")) {
documentKind = "resource_doc";
}
String xPath = "//" + documentKind + "[@name = '" + documentName + "' and @status = 'withdrawn']/@name";
String result = XMLUtils.getTextByXPath(sRepositoryIndex, xPath);
return !result.isEmpty();
}
return false;
}

}
Loading
Loading