Giter VIP home page Giter VIP logo

onix-data's Issues

Out Of Memory Issues

Hi Jaerith,

Thank you again for help on the other items! It has been very helpful!

Iโ€™m now getting a lot of OutOfMemory errors on big files.... These files are in the 800 MB range.

The errors happen during the processing in OnixData.

Thursday, March 4, 2021 11:18:32 AM: exception processing Single file: System.OutOfMemoryException: Exception of type 'System.OutOfMemoryException' was thrown.
at System.String.CtorCharArrayStartLength(Char[] value, Int32 startIndex, Int32 length)
at System.Xml.XmlTextReaderImpl.get_Value()
at System.Xml.XmlLoader.LoadNode(Boolean skipOverWhitespace)
at System.Xml.XmlLoader.LoadDocSequence(XmlDocument parentDoc)
at System.Xml.XmlLoader.Load(XmlDocument doc, XmlReader reader, Boolean preserveWhitespace)
at System.Xml.XmlDocument.Load(XmlReader reader)
at OnixData.OnixParser.get_MessageHeader() in Z:\Visual Studio Projects\ONIX-Data-master\OnixData\OnixParser.cs:line 169
at OnixData.OnixEnumerator.MoveNext() in Z:\Visual Studio Projects\ONIX-Data-master\OnixData\OnixParser.cs:line 316

I was wondering if you had any ideas on what I can do to try and have the full file process.

Thanks again!

serializer and deserializer ?

Hi,
Great work.

Is there a way to serialize a given onix file with the parser or do you have any example on how to serialize it?
I was currently using the XmlSerializer with typeof OnixMessage but in most cases the OnixMessage is null and I need to get the list of OnixProducts from the foreach you showed in the readme..

Any suggestions?

.NET core/ .NET 5 version

Hello,

First of all I must say great work with this library!

  1. Is there any known problem/issues/blocker with porting this library to .NET core from classic .NET framework?
  2. Do you accept contributions to your repo?

Header DefaultPriceTypeCode isn't used when no PriceTypeCode found in Product

Hello jaerith,

First off, i want to thank you for this amazing project. It has made parsing ONIX legacy and 3.0 files with ease. I've had to make some additions to the ONIX 3 parsing, which was easy to do.

I was wondering if you have an idea on how to refer to the header DefaultPriceTypeCode when no PriceTypeCode is found in the Product segment?

For example...

                    bHasUSDPrice =
                        TmpSupplyDetail.OnixPriceList.Any(x => x.HasSoughtPriceTypeCode() && (x.CurrencyCode == "USD"));

Returns false because PriceType is -1...

    public bool HasSoughtPriceTypeCode()
    {
        return CONST_SOUGHT_PRICE_TYPES.Contains(this.PriceType);
    }

Yet, there is a default Price Type in the Header.

Thank you.

OnixLegacyPlusParser skipping every 2nd record

Hi there,

The OnixLegacyPlusParser (haven't tried this with OnixPlusParser) is skipping every 2nd record when the file doesn't have line separators.

When there are line separators between fields, it works fine.

New Tag Request

Hello,

I was wondering if the following tag could be added to both parsers?

B044 - Biographical Notes

Thank you.

Legacy Plus Parser crashes at "MoveNext"

Hello,

When an error occurs during the MoveNext function in the Legacy Plus Parser, the reading of the file stops completely.
In the Legacy Parser, it does not do that.

Legacy Plus MoveNext does not return a true on the bResult when this happens.
It doesn't do that in the Legacy unless the # of products count is finished.

Thank you.

SupportingResource node support

Hello,

I have added SupportingResource support on .NET Standard branch. PR: #14

Changes are done both in NET Standard project and old OnixData.
I also propagated changes from PR: #11 to .NET Standard branch to both projects.

Missing fields TaxRatePercent and CountryOfPublication

Hi,
I need to receive those fields which currently are not being parsed:

  • OnixPriceTax.TaxRatePercent
  • OnixPublishingDetail.CountryOfPublication

I've already added to my local cloned ONIX-Data repo, if you want, I can create a pull-request so we can contribute to this repo.

Regards,
Daniel

Determine Onix file version

Hi Jaerith,

Thank you again for making the time for the issue I had with the Default header price type codes. I appreciate it a lot.

I was wondering (when you have time) if there was a way to determine which ONIX version was sent to us.

Thank you!

Missing Price.Territory.CountriesIncluded

Hi,

I'm trying to filter the price list by country using the field Territory.CountriesIncluded:

image

but I'm not able to find it.

When I inspect the OnixData.Version3.Price.OnixPrice object and I can't find it:

image

Am I searching in the wrong place?

Regards,
Dani

Extending project with GitHub Actions (CI)

Hello,

I wanted to learn GitHub Actions and used my fork of this project as playground. I think it can be also added to main project since it is always good to have CI working for projects. I prepared them just for NETStandard part, since it is where tests are.

You can take a look how it looks like I my fork:

https://github.com/Stanislaw000/ONIX-Data/actions

PR: szolkowski#6 (you need to click on show details box).

image

Tests results: https://github.com/Stanislaw000/ONIX-Data/runs/3182479870?check_suite_focus=true

Workflow files are in pull request #18

If you prefer to change something or customize let me know, so we can improve this solution.

Create Onix file

Hello jearith, first I want to congratulate you for this excellent project.

I work at a publisher in Brazil, and starting next month, our system should generate Onix files to insert in the portals of Google, Amazon, Kobo and Apple.

I loved your project and would like to know if I can generate ONIX files with it.
I made an example and it generates the file with duplicate Tags.

I also don't know if it is possible to insert "refname" in short tags, insert version and xmlns in ONIXmessage

Can you help me?

The 'xmlns' attribute is bound to the reserved namespace 'http://www.w3.org/2000/xmlns/'

Hi,
I'm trying to use the ONIX-Data parser with ONIX files from a provider and I'm getting this exception:

  Message: 
    System.ArgumentException : The 'xmlns' attribute is bound to the reserved namespace 'http://www.w3.org/2000/xmlns/'.
  Stack Trace: 
    XmlTextWriter.WriteStartAttribute(String prefix, String localName, String ns)
    XmlDOMTextWriter.WriteStartAttribute(String prefix, String localName, String ns)
    XmlAttribute.WriteTo(XmlWriter w)
    XmlElement.WriteStartElement(XmlWriter w)
    XmlElement.WriteElementTo(XmlWriter writer, XmlElement el)
    XmlElement.WriteTo(XmlWriter w)
    XmlNode.get_OuterXml()
    OnixEnumerator.MoveNext()
    MyService.ParseOnixFile(String filePath) line 42
    MyServiceTests.ParseOnixFile_ShouldReturnOK() line 34
    GenericAdapter`1.GetResult()
    AsyncToSyncAdapter.Await(Func`1 invoke)
    TestMethodCommand.RunTestMethod(TestExecutionContext context)
    TestMethodCommand.Execute(TestExecutionContext context)
    SimpleWorkItem.PerformWork()

The ONIXMessage and all Product xml nodes have the namespace attribute xmlns="http://ns.editeur.org/onix/3.0/reference":

image

If I remove all the xmlns attributes from the file then the parsing works.

I there some way to get the parse working without modifying the original ONIX files?

Thanks in advance.
Best Regards,
Dani

serialization

I see in the sample code that we can Deserialization, a check the source code and I can't find how to make a serilization?

//somathing like this
OnixProductId s = new OnixProductId();
s.ProductIDType = 15;
s.IDValue = "99999999999999";

OnixData.Version3.OnixProduct p = new OnixData.Version3.OnixProduct();
p.productidentifier = new OnixProductId[] { s };

// Save to xml ?

thansk !

ONIX-Data + SQUIDEX CMS

Hi, first of all I want to say that your project is very interesting. I haven't found any other like it, open source, .net, onix. Secondly, I was wondering if you knew about Squidex the .NET Headless CMS. My end goal is to build a system to send, receive, and store Book Metadata.

Could I theoretically use your project for metadata ingestion ? What would be the best-practice way of doing it ?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.