org.digidoc4j.ddoc.c14n.TinyXMLParser_Attribute Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of ddoc4j Show documentation
Show all versions of ddoc4j Show documentation
DDoc4J is Java Library for validating DDOC documents. It's not recommended to use it directly but rather through DigiDoc4J's API.
The newest version!
package org.digidoc4j.ddoc.c14n;
import org.digidoc4j.ddoc.c14n.common.StringImplementation;
public class TinyXMLParser_Attribute {
public TinyXMLParser_Fragment NameFragment;
public TinyXMLParser_Fragment EqualsFragment;
public TinyXMLParser_Fragment ValueBegin;
public TinyXMLParser_Fragment ValueEnd;
public TinyXMLParser_Attribute()
{
}
public String get_NamePrefix()
{
int i;
i = this.get_NameString().indexOf(":");
if ((i > -1))
{
return StringImplementation.Substring(this.get_NameString(), 0, i);
}
return null;
}
public String get_NameString()
{
return this.NameFragment.get_DataString();
}
public String get_Name()
{
int i;
i = this.get_NameString().indexOf(":");
if ((i > -1))
{
return this.get_NameString().substring(i);
}
return this.get_NameString();
}
public TinyXMLParser_Fragment get_ValueFragment()
{
TinyXMLParser_Fragment f;
f = this.ValueBegin.Clone();
f.Offset = this.ValueBegin.get_LastOffset();
f.Length = this.get_ValueLength();
return f;
}
public int get_ValueLength()
{
return (this.ValueEnd.Offset - this.ValueBegin.get_LastOffset());
}
public boolean get_IsXMLNS()
{
if (!(this.get_NamePrefix() == null))
{
return this.get_NamePrefix().equals("xmlns");
}
return this.get_Name().equals("xmlns");
}
public int CompareTo(TinyXMLParser_Attribute b)
{
if ((this.get_NamePrefix() == null))
{
if (this.get_IsXMLNS())
{
return -1;
}
}
if ((b.get_NamePrefix() == null))
{
if (b.get_IsXMLNS())
{
return 1;
}
}
if (this.get_IsXMLNS())
{
if (b.get_IsXMLNS())
{
return this.get_Name().compareTo(b.get_Name());
}
return -1;
}
if (b.get_IsXMLNS())
{
return 1;
}
if ((this.get_NamePrefix() == null))
{
if ((b.get_NamePrefix() == null))
{
return this.get_NameString().compareTo(b.get_NameString());
}
return -1;
}
if ((b.get_NamePrefix() == null))
{
return 1;
}
return this.get_NameString().compareTo(b.get_NameString());
}
public static TinyXMLParser_Attribute Of(TinyXMLParser_Fragment f)
{
TinyXMLParser_Attribute n;
boolean seek;
n = new TinyXMLParser_Attribute();
n.NameFragment = TinyXMLParser_Element.TagNameOf(f);
n.EqualsFragment = n.NameFragment.get_NextNonSpace();
if (!n.EqualsFragment.get_Item("="))
{
return null;
}
n.ValueBegin = n.EqualsFragment.get_NextNonSpace();
if (n.ValueBegin != null && !n.ValueBegin.get_IsQuote())
{
return null;
}
n.ValueEnd = n.ValueBegin.get_Next();
seek = true;
while (seek)
{
if ((n.ValueEnd == null))
{
seek = false;
}
else
{
if (!(!n.ValueEnd.get_IsQuote() || !n.ValueEnd.get_DataString().equals(n.ValueBegin.get_DataString())))
{
seek = false;
}
}
if (seek)
{
n.ValueEnd = n.ValueEnd.get_Next();
}
}
return n;
}
}