use of com.intellij.xml.XmlAttributeDescriptor in project intellij-community by JetBrains.
the class XmlDtdTest method testAttributeDescriptor3.
public void testAttributeDescriptor3() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<!ELEMENT toc ANY> <!ATTLIST toc version CDATA #FIXED \"1.0\">");
final XmlTag tag = tag("toc");
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("version", tag);
assertTrue(!attributeDescriptor.isRequired());
assertTrue(attributeDescriptor.isFixed());
assertTrue(!attributeDescriptor.isEnumerated());
assertEquals("1.0", attributeDescriptor.getDefaultValue());
}
use of com.intellij.xml.XmlAttributeDescriptor in project intellij-community by JetBrains.
the class XmlDtdTest method testAttributeDescriptor2.
public void testAttributeDescriptor2() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<!ELEMENT principals ANY><!ATTLIST principals path CDATA #IMPLIED>");
final XmlTag tag = tag("principals");
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor attributeDescriptor = elementDescriptor.getAttributeDescriptor("path", tag);
assertTrue(!attributeDescriptor.isRequired());
assertTrue(!attributeDescriptor.isFixed());
assertTrue(!attributeDescriptor.isEnumerated());
assertNull(attributeDescriptor.getDefaultValue());
}
use of com.intellij.xml.XmlAttributeDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testElementDescriptor6.
public void testElementDescriptor6() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "<xsd:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<xsd:complexType name=\"PurchaseOrderType\">" + " <xsd:sequence>" + " <xsd:element name=\"shipTo\">" + " <xsd:complexType name=\"USAddress\">" + " <xsd:sequence>" + " <xsd:element name=\"name\" type=\"xsd:string\"/>" + " <xsd:element name=\"street\" type=\"xsd:string\"/>" + " <xsd:element name=\"city\" type=\"xsd:string\"/>" + " <xsd:element name=\"state\" type=\"xsd:string\"/>" + " <xsd:element name=\"zip\" type=\"xsd:decimal\"/>" + " </xsd:sequence>" + " <xsd:attribute name=\"country\" type=\"xsd:NMTOKEN\" fixed=\"US\"/>" + " </xsd:complexType>" + " </xsd:element>" + " </xsd:sequence>" + "</xsd:complexType>" + "</xsd:schema>");
XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag).getElementDescriptor(SHIP_TO, null);
XmlElementDescriptor[] elements = elementDescriptor.getElementsDescriptors(tag);
assertEquals(5, elements.length);
assertEquals("name", elements[0].getName());
assertEquals("street", elements[1].getName());
assertEquals("city", elements[2].getName());
assertEquals("state", elements[3].getName());
assertEquals("zip", elements[4].getName());
final XmlTag context = tag.findFirstSubTag(elements[2].getName());
assertEquals(0, elements[2].getElementsDescriptors(context).length);
XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(context);
assertEquals(1, attributes.length);
assertEquals("country", attributes[0].getName());
}
use of com.intellij.xml.XmlAttributeDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testElementDescriptor12.
public void testElementDescriptor12() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\">" + "<xsd:element name=\"purchaseOrder\" type=\"PurchaseOrderType\"/>" + "<xsd:complexType name=\"PurchaseOrderType\">" + " <xsd:complexContent>" + " <xsd:restriction base=\"PurchaseOrderType2\">" + " <xsd:attribute name=\"orderDate2\" type=\"xsd:date\"/>" + " <xsd:attribute name=\"name\" type=\"xsd:date\"/>" + " </xsd:restriction>" + " </xsd:complexContent>" + "</xsd:complexType>" + "<xsd:complexType name=\"PurchaseOrderType2\">" + " <xsd:sequence>" + " <xsd:attribute name=\"orderDate\" type=\"xsd:date\"/>" + " <xsd:attribute name=\"name\" type=\"xsd:string\"/>" + " </xsd:sequence>" + "</xsd:complexType>" + "</xsd:schema>");
final XmlTag tag = XmlTestUtil.tag("purchaseOrder", getProject());
XmlElementDescriptor elementDescriptor = NSDescriptor.getElementDescriptor(tag);
XmlAttributeDescriptor[] attributes = elementDescriptor.getAttributesDescriptors(tag);
assertEquals(3, attributes.length);
assertEquals("orderDate", attributes[0].getName());
assertEquals("orderDate2", attributes[1].getName());
assertEquals("name", attributes[2].getName());
}
use of com.intellij.xml.XmlAttributeDescriptor in project intellij-community by JetBrains.
the class XmlSchemaTest method testAny3.
public void testAny3() throws Exception {
XmlNSDescriptor NSDescriptor = createDescriptor("<xsd:schema targetNamespace=\"http://foo\" xmlns:xsd=\"http://www.w3.org/2001/XMLSchema\" >" + " <xsd:element name=\"root\">" + " <xsd:complexType>" + " <xsd:anyAttribute namespace=\"##other\" processContents=\"skip\"/>" + " </xsd:complexType>" + " </xsd:element>" + "</xsd:schema>");
XmlFile xmlFile = (XmlFile) createFile("file.xml", "<root xmlns=\"http://foo\" y:a=\"1\">" + "</root>");
final XmlTag rootTag = xmlFile.getDocument().getRootTag();
XmlElementDescriptor rootDescriptor = NSDescriptor.getElementDescriptor(rootTag);
assertNotNull(rootDescriptor);
XmlAttribute attribute = rootTag.getAttribute("y:a", XmlUtil.EMPTY_URI);
assertNotNull(attribute);
XmlAttributeDescriptor aDescriptor = rootDescriptor.getAttributeDescriptor("y:a", rootTag);
assertNotNull(aDescriptor);
}
Aggregations