NaturalIntelligence / NaturalIntelligence/fast-xml-builder

Configuring XML output attributes - attributeValueProcessor?

Open
#13 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
22
Forks
8
PR merge metrics
No merged PRs in 30d

Description

  • Are you running the latest version?
  • Have you included sample input, output, error, and expected output?
  • Have you checked if you are using correct configuration?
  • Did you try online tool?
Description

Not sure if this should be a feature request, or I am just not understanding the docs - How to I ensure that when I am using the XMLBuilder that XML attributes are correct? I have very strict requirements on the XML format, since it will need to be human writable. I know I will need to provide some additional config into the builder, as there is no way it can know that I want 'id' to be an attribute - I was looking at 'attributeValueProcessor' but there is no documentation how to use it, or I couldnt see it.

Input

Here is an example of the JSON

Code
{
    "question": {
        "ask": "Which of the following statements are true?",
        "choice": [
            {
                "#text": "This one",
                "id": "A"
            },
            {
                "#text": "Probably this one",
                "id": "B"
            },
            {
                "#text": "Not this one",
                "id": "C"
            }
        ],
        "answer": "A",
        "response": [
            {
                "#text": "Sorry that is not right.",
                "type": "incorrect"
            },
            {
                "#text": "Well done!",
                "type": "correct"
            }
        ],
        "type": "MC"
    }
}
Output
<question>
	<ask>
		Which of the following statements are true?
	</ask>
	<choice>
		This one.
		<id>
			A
		</id>
	</choice>
	<choice>
		Probably this one
		<id>
			B
		</id>
	</choice>
	<choice>
		Not this one.
		<id>
			C
		</id>
	</choice>
	<answer>
		A
	</answer>
	<response>
		Sorry that is not right.
		<type>
			incorrect
		</type>
	</response>
	<response>
		Well done!
		<type>
			correct
		</type>
	</response>
	<type>
		MC
	</type>
</question>
expected data
<question type="MC">
      <ask>Which of the following statements are true?</ask>
      <choice id="A">This one.</choice>
      <choice id="B">Probably this one</choice>
      <choice id="C">Not this one.</choice>
      <answer>A</answer>
      <response type="incorrect">Sorry that is not right.</response>
      <response type="correct">Well done!</response>
</question>

Would you like to work on this issue?

  • Yes
  • No

Bookmark this repository for further updates.

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the XMLBuilder configuration and the attributeValueProcessor option mentioned in the issue, then compare the current behavior with the provided JSON and expected XML. Done means determining or documenting the configuration needed to emit type and id as attributes and to match the expected structure.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
tooling
Issue type
Feature
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.