# IBaseUxmlFactory

> Base interface for UXML factories. While it is not strictly required, concrete factories should derive from the generic class UxmlFactory<TCreatedType, TTraits> or UxmlObjectFactory.

## Definition

* **Type:** Interface
* **Namespace:** [UnityEngine.UIElements](/engine/6000.0/script-reference/unityengine/uielements.md)
* **Assembly:** UnityEngine.UIElementsModule

> **Warning:**
>
> **Deprecated.** IUxmlFactory is deprecated and will be removed. Use UxmlElementAttribute instead.

```csharp
public interface IBaseUxmlFactory
```

## Properties

| Property                                                                                                                                    | Description                                                                                                                                                                                                                                        |
| ------------------------------------------------------------------------------------------------------------------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| [canHaveAnyAttribute](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/canhaveanyattribute.md)                       | Must return true if the UXML element attributes are not restricted to the values enumerated by [IBaseUxmlFactory.uxmlAttributesDescription](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlattributesdescription.md). |
| [substituteForTypeName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypename.md)                   | The type of element for which this element type can substitute for.                                                                                                                                                                                |
| [substituteForTypeNamespace](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypenamespace.md)         | The UXML namespace for the type returned by [IBaseUxmlFactory.substituteForTypeName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypename.md).                                                            |
| [substituteForTypeQualifiedName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypequalifiedname.md) | The fully qualified XML name for the type returned by [IBaseUxmlFactory.substituteForTypeName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/substitutefortypename.md).                                                  |
| [uxmlAttributesDescription](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlattributesdescription.md)           | Describes the UXML attributes expected by the element. The attributes enumerated here will appear in the UXML schema.                                                                                                                              |
| [uxmlChildElementsDescription](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlchildelementsdescription.md)     | Describes the types of element that can appear as children of this element in a UXML file.                                                                                                                                                         |
| [uxmlName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlname.md)                                             | The name of the UXML element read by the factory.                                                                                                                                                                                                  |
| [uxmlNamespace](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlnamespace.md)                                   | The namespace of the UXML element read by the factory.                                                                                                                                                                                             |
| [uxmlQualifiedName](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmlqualifiedname.md)                           | The fully qualified name of the UXML element read by the factory.                                                                                                                                                                                  |
| [uxmlType](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/uxmltype.md)                                             | The type of the UXML element read by the factory.                                                                                                                                                                                                  |

## Methods

| Method                                                                                                                | Description                                                           |
| --------------------------------------------------------------------------------------------------------------------- | --------------------------------------------------------------------- |
| [AcceptsAttributeBag](/engine/6000.0/script-reference/unityengine/uielements/ibaseuxmlfactory/acceptsattributebag.md) | Returns true if the factory accepts the content of the attribute bag. |
