123456789101112131415161718192021222324252627282930313233 |
- import * as DomUtil from '../common/dom_util.js';
- import { Attribute } from '../enrich_mathml/enrich_attr.js';
- export function splitAttribute(attr) {
- return !attr ? [] : attr.split(/,/);
- }
- export function getAttribute(node, attr) {
- return node.getAttribute(attr);
- }
- export function getSemanticRoot(node) {
- if (node.hasAttribute(Attribute.TYPE) &&
- !node.hasAttribute(Attribute.PARENT)) {
- return node;
- }
- const semanticNodes = DomUtil.querySelectorAllByAttr(node, Attribute.TYPE);
- for (let i = 0, semanticNode; (semanticNode = semanticNodes[i]); i++) {
- if (!semanticNode.hasAttribute(Attribute.PARENT)) {
- return semanticNode;
- }
- }
- return node;
- }
- export function getBySemanticId(root, id) {
- if (root.getAttribute(Attribute.ID) === id) {
- return root;
- }
- return DomUtil.querySelectorAllByAttrValue(root, Attribute.ID, id)[0];
- }
- export function getAllBySemanticId(root, id) {
- if (root.getAttribute(Attribute.ID) === id) {
- return [root];
- }
- return DomUtil.querySelectorAllByAttrValue(root, Attribute.ID, id);
- }
|